SpringMVC如何接收application/json内容编码类型的参数?
在上代码之前,有必要先说说@ResquestBody注解的含义:
1、官方解释如下:
Annotation indicating a method parameter
|
2、另外还需解释一下使用的场景
GET、POST方式提交的请求: Content-type: 1、application/x-www-form-urlencoded:@RequestBody不是必须加的 2、mutipart/form-data:@RequestBody不能处理这种格式 3、其他格式,比如application/json,application/xml等,必须使用@RequestBody来处理 PUT方式提交的请求: 以上1和3的场景都是必须使用@RequestBody来处理的,2场景也是不支持的 |
3、前端代码如下:(这里必须将JSON对象使用JSON.stringify()转为JSON字符串再传递,否则后台接收不到值)
$.ajax({ url:"../../Notice/LoadForm.do", type:"post", contentType:"application/json;charset=UTF-8", data:JSON.stringify({"id":"1","title":"标题"}) });
4、后台接收代码示例
@RequestMapping(value="Notice/LoadForm") @ResponseBody public ResultJO loadForm(@RequestBody Notice notice){ }