@ResponseBody
作用:@ResponseBody注解用于将Controller的方法返回的对象,通过springmvc提供的HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端。
@RequestBody
作用:@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容(json数据)转换为java对象并绑定到Controller方法的参数上。
什么是HttpMessageConverter
作用:负责将请求信息转换为一个对象(类型为 T),将对象(类型为 T)输出为响应信息。
我们前台请求过去的json字符串,在使用@RequestBody注解后 被HttpMessageConverter,转换成对应的java对象,然后我们在用@ResponseBody注解,将java对象 以特定的格式(通常都是json)相应给浏览器。
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。