如果Content-Type设置为“application/x-www-form-urlencoded;charset=UTF-8”无论是POST请求还是GET请求都是可以通过这种方式成功获取参数,但是如果前端POST请求中的body是Json对象的话,会报上述错误。
请求中传JSON时设置的Content-Type 如果是application/json或者text/json时,JAVA中request.getParameter("")怎么也接收不到数据。这是因为,Tomcat的HttpServletRequest类的实现类为org.apache.catalina.connector.Request(实际上是org.apache.coyote.Request)。
@requestbody和@requestparam一般不同时使用,同时传“application/x-www-form-urlencoded;charset=UTF-8”与application/json“肯定会有冲突!当然,普通参数直接加在url,接着传json对象的字符串除外。
(1)前端请求传Json对象则后端使用@RequestParam;
(2)前端请求传Json对象的字符串则后端使用@RequestBody;
用JSON.stringify将对象转换为字符串
编写不易,未有VIP但想白嫖文章的朋友可以关注我的个人公众号“不秃头的码农”直接查看文章,后台回复java资料、单片机、安卓、简历可免费领取资源。你的支持是我最大的动力!后期将在公众号发布一些大厂面试题的文章解读!