前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMVC如何接收application/json内容编码类型的参数?

SpringMVC如何接收application/json内容编码类型的参数?

作者头像
程序员一一涤生
发布2019-09-10 19:01:30
3.2K0
发布2019-09-10 19:01:30
举报

  在上代码之前,有必要先说说@ResquestBody注解的含义:

  1、官方解释如下:

代码语言:javascript
复制
Annotation indicating a method parameter 
should be bound to the body of the web request.
The body of the request is passed through an {@link HttpMessageConverter}
 to resolve the method argument depending on the content type of the request.
(意思大概是:用该注解标识的方法的参数,会和web请求体绑定。
http消息转换器会根据content-type的设置将请求体解析,从而初始化该方法的参数。)

  2、另外还需解释一下使用的场景

代码语言:javascript
复制
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字符串再传递,否则后台接收不到值)

代码语言:javascript
复制
$.ajax({
    url:"../../Notice/LoadForm.do",
    type:"post",
    contentType:"application/json;charset=UTF-8",
    data:JSON.stringify({"id":"1","title":"标题"})
});

  4、后台接收代码示例

代码语言:javascript
复制
@RequestMapping(value="Notice/LoadForm")
@ResponseBody
public ResultJO loadForm(@RequestBody Notice notice){

}
代码语言:javascript
复制
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-02-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档