码迷,mamicode.com
首页 > 其他好文 > 详细

关于@RequestBody 有的时候能接收有的时候接收不了的情况,@RequestParam什么时候使用

时间:2019-12-15 14:31:06      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:request   dmi   信息   项目   use   name   方式   font   必须   

最近有点疑惑的是,在公司用@RequestBody  可以解析前端发送的json串,但是自己在做项目的时候老是会接受不到,报415错误,于是寻思了一下,看了看请求体有何不同,发现确实不同,

技术图片

 

 这个是表单提交,格式为这个样子的,所以前台不能加@RequestBody ,否则会接收不到参数,而公司前台进行传递参数的时候是这样传的

技术图片

 

所以必须加此注解告知需要进行解析,并赋值到接收参数的对象里面,进行后续的操作,还有就是@RequestBody是接收请求体的参数,而@RequestParam接收到的是请求头中的信息,换句话说,

@RequestParam就是只能从请求的地址中取出参数,也就是只能从username=admin&password=admin这种字符串中解析出参数,这样是不能提取出请求体中的参数的。(不明白的进一步解释:spring的RequestParam注解接收的参数是来自于requestHeader中,即请求头,也就是在url中,格式为xxx?username=123&password=456,而RequestBody注解接收的参数则是来自于requestBody中,即请求体中。)

那这样接收参数的话,肯定是和请求的方式也是有一定关系的,例如:

在get请求下,后台接收参数的注解为RequestBody时会报错;在post请求下,后台接收参数的注解为RequestParam时也会报错。这下彻底明白了!!!!

关于@RequestBody 有的时候能接收有的时候接收不了的情况,@RequestParam什么时候使用

标签:request   dmi   信息   项目   use   name   方式   font   必须   

原文地址:https://www.cnblogs.com/qiaohechen/p/12043765.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!