RequestController==Controller和ResponseBody两个注解
@responseBody注解的作用
- 将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML(注意:在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据)
- 效果示例:
@RequestMapping("/login")
@ResponseBody
public User login(User user){
return user;
}
User字段:userName pwd
那么在前台接收到的数据为:'{"userName":"xxx","pwd":"xxx"}'
效果等同于如下代码:
@RequestMapping("/login")
public void login(User user, HttpServletResponse response){
response.getWriter.write(JSONObject.fromObject(user).toString());
}
requestBody注解的作用
- @requestBody常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型
- @requestBody将请求体中的JSON字符串绑定到相应的对象上,当然,也可以将其分别绑定到对应的字符串上
- @requestBody也可以用来处理content-type类型为application/x-www-form-urlcoded的数据