@RequestParam和@RequestBody的区别
来源:8-8 商品编辑之后端开发下
gliiiii
2019-11-01
老师我看你在controller层获取参数的时候,有时候加了注解@RequestBody有时候加了注解@RequestParam,这两个注解有什么区别,应用场景是什么样的,还有这两个注解关于前端通过ajax传参的时候需要有什么变动或者说是区别?这两个注解是否能同时用?老师恳请详解,百度了很多,但是对于答案依然很模糊。
2回答
-
qq_大寒_2
2019-11-04
这个最好自己可以试下,我现在后端springboot全部采用@RequestBody接受post请求方式,不能接受get方式,前端采用application/json编码方式,参数都是再请求体里面的,并且请求体里面的参数要和实体类属性名要一样的。不然会报错,
比如你前端
data: {
userId: userId,
},
后端
@RequestBody Users users
实体类
private String userId;
画粗线的地方名称要对上。
@RequestParam用来接受请求,post/get请求只接受application/x-www-form-urlencoded编码,你前台自定义application/json编码就接受不到了,有些前端框架未指定编码默认就是application/json,所以要注意点。
这些框架接受参数的用法,都和编码,和请求类型有关,有些编码接受不到,有些只支持post请求比如@RequestBody
112019-11-05 -
翔仔
2019-11-01
同学好,这周和下周我都在国外,只能手机答疑,这两个区别主要在于前者获取某个具体参数并且自动转换类型,第二个是从post请求里获取请求body的整体信息并作转换。
122019-11-02
相似问题