当前位置: 首页 > 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));}

相关文章:

  • 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实现点击空白处隐藏弹窗(详细教程)
  • 履新宿州市政府党组书记后,任东暗访五一假期安全生产工作
  • 426.8万人次!长三角铁路创单日客发量历史新高
  • 乌方公布矿产协议详情:未提债务义务,包含美再援助条款
  • 国务院安委办、应急管理部进一步调度部署“五一”假期安全防范工作
  • 美参议院通过新任美国驻华大使任命,外交部回应
  • 李铁案二审驳回上诉,维持一审有期徒刑20年的判决