当前位置: 首页 > 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.xdnf.cn/news/258787.html

相关文章:

  • 瑞萨 EZ-CUBE2 调试器
  • AI赋能新媒体运营:效率提升与能力突破实战指南
  • ZYNQ工业级串口方案:AXI UART 16550扩展RS-485实战(自动方向控制+Linux驱动)
  • AI大模型-微调和RAG方案选项
  • 友元函数和友元类
  • 【学习笔记】深入理解Java虚拟机学习笔记——第1章 走进Java
  • 4.1 模块概述
  • JavaScript基础-逻辑运算符
  • 【质量管理】现代TRIZ问题识别中的功能分析——组件分析
  • 网站怎样备份网站,备份网站数据的方法
  • 正弦波、方波、三角波和锯齿波信号发生器——Multisim电路仿真
  • re题(52)BUUCTF-[FlareOn5]Minesweeper Championship Registration
  • 深度理解linux系统—— 进程优先级
  • 深入理解C++构造函数:从入门到实践
  • AXI中的burst有几种?都用在什么场景中
  • 复刻低成本机械臂 SO-ARM100 舵机配置篇(WSL)
  • HTML5+JavaScript实现连连看游戏之二
  • [预备知识]6. 优化理论(二)
  • Codeforces Round 1022 (Div. 2) A ~ C
  • 【AI面试准备】数据治理与GDPR脱敏机制构建
  • 一键暂停Windows更新工具
  • 数字智慧方案6186丨智慧应急指挥解决方案(43页PPT)(文末有下载方式)
  • VGG网络模型
  • 自监督学习的学习笔记
  • Python 数据智能实战 (7):智能流失预警 - 融合文本反馈
  • git问题记录-如何切换历史提交分支,且保留本地修改
  • 安卓程序打包与发布
  • 不小心误删了文件,找Windows数据恢复工具来帮忙
  • redis持久化-RDB
  • 数字智慧方案5868丨智慧建造总体策划方案(68页PPT)(文末有下载方式)