问题描述:
前后端进行通信,定义了一个Class来进行接受参数,使用@RequestBody时候postman请求的参数能正常接受到,但是跟前端进行通信的时候,使用@RequestBody 参数获取不到,去掉参数能正常接受。
首先了解@RequestBody @RequestParams的含义
前后台通信,肯定要规定好通信的数据格式,只有定义了数据格式才能正确的进行解析
前后台的传参有两种,一种是url后面跟的传参,这些使用RequestParams进行接受 也可以省略 建议写上,强化你对他的了解
还有一种是放在请求体里的,body体,对于这些参数我们可以定义要给Class或者定义一个Json来进行接收
但是由于前端的
两个注解标明取参的来源
Content-Type为application/json类型的请求,数据类型是JSON:{“aaa”:“111”,“bbb”:“222”}
JSON类型的参数使用@RequestBody进行接收
Content-Type为application/x-www-form-urlencoded类型 这种类型是一种key-value格式
这种参数类型需要去除@RequestBody 注解
我遇到的问题产生的原因是因为前端采用的是application/x-www-form-urlencoded,而postman采用的是json格式产生的
参考资料
https://blog.csdn.net/justry_deng/article/details/80972817