Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Spring MVC @RequestBody接收JSON报HTTP 415/400问题的解决

手头一个EXTJS+SpringMVC的项目,用FormPanel提交表单到后台进行更新/添加操作,想着赶一把时髦用@RequestBody吧,结果死活报http415错误,折腾了2天几乎都要放弃了,但是实在眼馋这个强悍的功能,经过反复测试终于搞定。网上种种解决方式,包括补充<mvc:annotation-driven />的配置、JavaBean要有无参构造函数、缺Jackson包等等,经检查都不是原因所在(Spring 3.1之后<mvc:annotation-driven/>默认就会载入7种MessageConventer无需多余声明),最后发现问题主要由2个方面造成:1.Ajax请求时没有设置Content-Type为Json,对于ext来说就是要把POST的内容放到jsonData属性中,而不是params。2.发送的表单内容对象不要转成JSON字符串,直接发送JSON对象即可,否则就415错误!相关阅读:Spring MVC+Spring3+Hibernate4开发环境搭建 http://www.linuxidc.com/Linux/2013-07/87119.htmSpring MVC整合Freemarker基于注解方式 http://www.linuxidc.com/Linux/2013-02/79660.htm基于注解的Spring MVC简单介绍 http://www.linuxidc.com/Linux/2012-02/54896.htmSpring MVC 框架搭建及详解 http://www.linuxidc.com/Linux/2012-01/52740.htm