@ReponseBody与@RequestBody
首先提一嘴关于@RequestMapping (“url”),可用于类或方法上,方法上作用是处理请求地址的相关映射。类上作用是所有响应请求的方法都是以该地址作为父路径。
@ReponseBody
@ReponseBody注解用于将Controller的方法 的返回的对象(Java对象),通过Spring提供的HttpMessageConveter接口将数据转成 指定的 数据格式(JSON、xml),通过response相应给客户端。
作用:
该注解用于将 Controller 的方法返回的对象,通过适当的 HttpMessageConverter 转换为指定格式后,写入到 HTTP response body 中。
使用时机:
返回的数据不是 html 标签的页面,而是其他某种格式的数据时(如 json、xml 等)使用
@Resquestbody
作用:
@RequestBody注解用于读取HTTP请求的内容(JSON字符串),通过SpringMVC提供HttpMessageConveter接口将读到的内容(JSON字符串)转换为Java对象,并绑定到Controller方法的形参上。
注意:@RequestBody 需要把所有请求参数作为 json 解析,因此,不能包含 key=value 这样的写法在请求 url 中,所有的请求参数都是一个 json。直接通过浏览器输入 url 时,@RequestBody 获取不到 json 对象,需要用 java 编程或者基于 ajax 的方法请求,将 Content-Type 设置为 application/json。