@RequestBody

作用: 

i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;      ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。

使用时机:A) GET、POST方式提时, 根据request header Content-Type的值来判断:    application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);    multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);    其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);

B) PUT方式提交时, 根据request header Content-Type的值来判断:    application/x-www-form-urlencoded, 必须;    multipart/form-data, 不能处理;    其他格式, 必须;

说明:request的body部分的数据编码格式由header部分的Content-Type指定;

@ResponseBody作用: 

该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

使用时机:      返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
时间: 2024-08-13 16:16:07

@RequestBody的相关文章

spring @RequestBody的使用

@RequestMapping(value="/testJson",produces="application/json") public String testJson(@RequestBody AccountTest test){ System.out.println(test.getUsername()); return "index"; } 研究了下这个的使用: 如果http请求body传的是json的话就得使用他来接受了,可以直接用St

【转】@RequestParam @RequestBody @PathVariable 等参数绑定注解详解

@RequestParam @RequestBody @PathVariable 等参数绑定注解详解 2014-06-02 11:24 23683人阅读 评论(2) 收藏 举报 目录(?)[+] 引言: 接上一篇文章,对@RequestMapping进行地址映射讲解之后,该篇主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用: 简介: handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主

SpringMVC @RequestBody接收Json对象字符串

转:http://www.cnblogs.com/quanyongan/archive/2013/04/16/3024741.html 以前,一直以为在SpringMVC环境中,@RequestBody接收的是一个Json对象,一直在调试代码都没有成功,后来发现,其实 @RequestBody接收的是一个Json对象的字符串,而不是一个Json对象.然而在ajax请求往往传的都是Json对象,后来发现用 JSON.stringify(data)的方式就能将对象变成字符串.同时ajax请求的时候也

@RequestParam @RequestBody @PathVariable 等参数绑定注解详解(转)

简介: handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型) A.处理requet uri 部分(这里指uri template中variable,不含queryString部分)的注解:   @PathVariable; B.处理request header部分的注解:   @RequestHeader, @CookieValue; C.处理request body部分的注解:@RequestParam,  @Reque

spring 中注解的详细解释之@Responsebody与@RequestBody

1.@responseBoby @Responsebody与@RequestBody 一.预备知识:@RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. 1 @RequestMapping(value = "/aaa")//类级别,可以没有 2 public class myController { 3 @RequestMapping(value = "/

在SpringMVC中使用@RequestBody和@ResponseBody注解处理json时,报出HTTP Status 415的解决方案

我在使用SpringMVC的@RequestBody和@ResponseBody注解处理JSON数据的时候,总是出现415的错误,说是不支持所提交数据格式,我在页面中使用了JQuery的AJAX来发出JSON数据给服务器: $.ajax({ type:'post', url:'${pageContext.request.contextPath }/requestJSON.action', contentType :'application/json;charset=utf-8', //数据是JS

调用Request对象的post方法把RequestBody传入进去

通过调用登录接口发送一个post请求.跟get不一样的地方就是传参数不一样,post请求需要把参数封装到RequestBody对象,调用Request对象的post方法把RequestBody传入进去.最后调用execute方法执行请求,这个方法前面get请求的时候讲过. http://bbs.guilinlife.com/thread-9125238-1-1.htmlhttp://bbs.guilinlife.com/thread-9125240-1-1.htmlhttp://bbs.guil

@RequestBody接收ajax的json字符串

在使用ajax进行请求,并传递参数时,偶尔需要把数组作为传递参数,这是就要使用@RequestBody来解决这个问题 在页面端的处理: (1)利用JSON.stringify(arr)需要把json对象数组转变成一个json对象字符串 (2)在ajax的参数中设置"contentType": "application/json" $(function(){ $("#exe").on("click",function(){ va

@Responsebody与@RequestBody

预备知识:@RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. @RequestMapping(value = "/aaa")//类级别,可以没有 public class myController { @RequestMapping(value = "/bbb")//方法级别,必须有 public String getMyName() { re