当前位置: 首页 > news >正文

Controller层接收参数方式

一、请求路径(url)中的参数

方式一:原始方式获取请求参数

     方式一:原始方式获取请求参数@RequestMapping(value = "/depts", method = RequestMethod.DELETE)@DeleteMapping("/depts")public Result delete(HttpServletRequest request){String id = request.getParameter("id");int idInt = Integer.parseInt(id);System.out.println("id="+idInt);return Result.success();}

方式二:通过spring提供的@RequestParam注解获取请求参数

     方式二:通过spring提供的@RequestParam注解获取请求参数@RequestParam加上之后,required默认值为true代表前端就必须要传递该参数,否则报错400,Bad Request, 如果不需要限制,可以将其设置为required=falsepublic Result delete(@RequestParam(value = "id", required = false) Integer deptId){System.out.println("deptId = " + deptId);//调用service的删除方法deptService.delete(deptId);return Result.success();}

方式三:形参变量名与请求参数名一致,可以自动封装简单参数值【推荐】

    // 方式三:形参变量名与请求参数名一致,可以自动封装简单参数值【推荐】@DeleteMappingpublic Result delete(Integer id){log.info("id = {}", id);//调用service的删除方法deptService.delete(id);return Result.success();}

方式四:@PathVariable接受路径参数

接受路径中的参数 如/depts/{id} 中的id

    @GetMapping("/{id}")public Result getById(@PathVariable Integer id){log.info("id = {}", id);//调用service的方法Dept dept = deptService.getById(id);return Result.success(dept);}

 

二、请求体中的参数(Json格式数据)

方式一:直接封装成Java对象

请求体中的key值与类的属性名对应一致,可以进行自动封装

    @PutMappingpublic Result update(@RequestBody Dept dept){log.info("dept = {}", dept);deptService.update(dept);return Result.success();}

方式二:转换为Map<String,String> map对象

    @PutMapping("/depts")public Result updateById(@RequestBody Map<String, String> map) {Integer id = Integer.parseInt(map.get("id"));String name = map.get("name");String createTime = map.get("createTime");return deptService.updateById(new Dept(id,name,createTime,null));}

http://www.dtcms.com/a/168665.html

相关文章:

  • Java学习手册:Spring Boot 自动配置与快速开发
  • RISCV的smstateen-ssstateen扩展
  • 方案精读:虚拟电厂“七问七答”详解【附全文阅读】
  • 人工智能项目开发项目
  • Android面试总结之jet pack模块化组件篇
  • 2505ahk,wmi学习
  • 本地服务验证-仙盟创梦IDE-智能编程,编程自动备份+编程审计
  • Redis 主从复制部署
  • 生成多个密钥对ssh的key
  • 当MCP撞进云宇宙:多芯片封装如何重构云计算的“芯“未来?
  • 数字智慧方案5857丨智慧机场解决方案与应用(53页PPT)(文末有下载方式)
  • nextTick的作用
  • flowable 使用流程服务
  • 【STM32】定时器的外部时钟模式
  • 如何提升自我情绪管理的能力?
  • 沥青路面裂缝的目标检测与图像分类任务
  • [更新完毕]2025五一杯C题五一杯数学建模思路代码文章教学:社交媒体平台用户分析问题
  • 【Linux】基础指令(2)
  • 红鸟3D互动系统棋类源码一键部署教程(含多个打包版本与功能解构)
  • PowerBI实现点击空白处隐藏弹窗(详细教程)
  • NVIDIA NPP 库入门
  • MySQL初阶:数据库基础,数据库和表操作,数据库中的数据类型
  • STM32MP157开发板设置静态IP地址
  • Windows配置grpc
  • mescroll.js 是在 H5端 运行的下拉刷新和上拉加载插件
  • Vue 3 ref() 深度解析:从响应式原理到实战技巧
  • 设计模式简述(十六)门面模式
  • 第 8 篇:B/B+ 树:为海量磁盘数据而生
  • 《操作系统真象还原》调试总结篇
  • B站Michale_ee——ESP32_IDF SDK——FreeRTOS_8 消息缓冲区