传参:@RequestParam @RequestBody @PathVariable的作用
@PathVariable
当使用@RequestMapping URI template 样式映射时,@PathVariable能使传过来的参数绑定到路由上,这样比较容易写出restful api,看代码
@RequestMapping(value="/{id}", method=RequestMethod.GET)public List<Map<String, Object>> getUser(@PathVariable Integer id) {return userService.getUserById(id);}
上面这个接口可通过get请求 http://xxxxx/1111来得到想要的数据,1111既是getUser的方法参数又是@RequestMapping的路由。如果方法参数不想写成和路由一样的应该怎么办?看代码:
@RequestMapping(value="/{uid}", method=RequestMethod.GET)public List<Map<String, Object>> getUser(@PathVariable("uid") Integer id) {return userService.getUserById(id);}
在@PathVariable后面接入“uid”就可以了。
@RequestParam
@RequestParam和@PathVariable的区别就在于请求时当前参数是在url路由上还是在请求的body上,例如有下面一段代码:
@RequestMapping(value="", method=RequestMethod.POST)public String postUser(@RequestParam(value="phoneNum", required=true) String phoneNum ) String userName) {userService.create(phoneNum, userName);return "success";}
这个接口的请求url这样写:http://xxxxx?phoneNum=xxxxxx,也就是说被@RequestParam修饰的参数最后通过key=value的形式放在http请求的Body传过来,对比下上面的@PathVariable就很容易看出两者的区别了。
@RequestBody
@RequestBody能把简单json结构参数转换成实体类,如下代码:
@RequestMapping(value = "/testUser", method = RequestMethod.POST)public String testUser(@RequestBody User user){System.out.print(user.getAge());return "success";}
参数为:
{"id":1,"user":"pkxutao","name":"name","age":18}
传参:@RequestParam @RequestBody @PathVariable的作用相关推荐
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
文章主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用. 简介: handler method 参数绑定常用的注解,我们根据他们处理的Request ...
- @RequestParam,@RequestBody,@PathVariable注解还分不清吗?
前言 在使用 SpringMVC 开发时,经常遇到前端传递的各种参数,比如 form 表单,JSON 数据,String[] 数组,再或者是最常见的 String 字符串等等,总之大部分场景都是在标题 ...
- @RequestParam @RequestBody @PathVariable 等参数绑定
注解 请求 说明 @PathVariable 处理request url部分 @RequestMapping(" someUrl/{paramId}") @RequestHeade ...
- openFegin传参
openFegin传参 学习 项目之间调用Feign 简单依赖调用 openFegin 传参 Get请求 单参数 多参数 对象传参 get传参代码 post 传参 单参 多参数 对象 post 代码 ...
- @RequestBody、 @RequestParam 、 @PathVariable 和 @Vaild 注解
后端接收前端传的参数主要有两种方式: 第一种: 用变量来接收,前端传递的参数会对相同变量名进行赋值. 第(1)种: @GetMapping("/info/{id}")public ...
- @RequestBody、 @RequestParam 、 @PathVariable 和 @Vaild 注解的使用及区别
@RequestBody @RequestBody 主要用来接收前端传递给后端的 json 字符串中的数据(请求体中的数据): Get 方式无请求体,所以使用 @RequestBody 接收数据时,前 ...
- @RequestBody、@RequestParam、@PathVariable
@RequestBody.@RequestParam.@PathVariable RequestParam 后端接收 可以设置默认值@RequestParam(value="currentp ...
- esp和ebp在传参过程中的变化和作用
栈帧 esp和ebp在传参过程中的作用和连续:(12条消息) 函数调用过程中的栈帧结构及其变化_AC-NEWBIE的博客-CSDN博客_函数调用栈帧结构 从汇编角度深刻理解函数调用过程 (参数如何传递 ...
- java中注解动态传参_SpringMVC之注解、传参、返回值及拦截器
1. 注解式开发之annotation-driven解释 (1) mvc注解驱动在哪个文件中配置? Springmvc.xml (2) 配置mvc注解驱动使用哪个标签? 2. 注解式开发之视图解析器 ...
最新文章
- python怎么输入列表元素每个元素占一行_如何对列表的每个元素执行操作并将结果放在Python的新列表中?...
- 土木工程到底有多惨?哭了哭了......
- 与传统的计算机硬件系统相比,计算机一级名词解释
- python量化数据处理小细节(以后还会不断补充)
- thinkpad s3 安装win8 kali双系统笔记
- vRealize-Operations-Manager-Appliance-8.2.0 VROPS 8.2安装部署
- 用easyx画五角星_冷军画了一把破剪刀, 竟然卖到了160万,被专家抨击:乱涂鸦!得奖后专家顿时不说话了...
- android 按下缩小效果松开恢复_22省份三季报:粤苏总量差距缩小,19省份实现正增长...
- 智能优化算法:吉萨金子塔建造优化算法-附代码
- Package has no installation candidate
- 学生寝室管理系统-C语言版
- 批量大气校正高分2号(GF2)卫星数据
- 单片机p1口亮灯c语言代码,单片机闪烁灯汇编语言源代码大全(四款闪烁灯的汇编语言源代码)...
- Caravan Robbers CF Gym - 100134C
- 动态规划之最大非空子段和
- 【MATLAB】 01 基本操作与数组输入
- 全景管家在线解析720yun、蛙色中krpano全景图
- npm 和 cnpm 的区别
- access找不到输入表或者dual_神奇的DUAL表总结
- python计算ex函数_python – numpy:计算softmax函数的导数
热门文章
- asp.net夜话之十一:web.config详解
- 把字符串复制到剪贴板
- 利用消息机制实现.NET AOP(面向方面编程)--基本概念和实现
- 关于Metropolis-Hasting采样的两个注意事项
- 大数据挖掘有哪些技术
- 企业如何搭建物联卡云平台
- html 并集选择器,HTML+CSS基础 并集选择器
- sql 包含某个字符_「17」MySQL中正则表达式查询的SQL语句集锦
- 邮票面值设计java_邮票面值设计
- 中切片工具怎么使用_技巧|Excel中切片器的2个使用方法!