当你可以不用 @ResponseBody 时,为什么要在其余控制器中使用它?例如
@RequestMapping(value = "/user/status", method = RequestMethod.POST)
public @ResponseBody String update(){
return "hello";
}
返回相同的结果:
@RequestMapping(value = "/user/status", method = RequestMethod.POST)
public String update(){
return "hello";
}
在字符串的情况下,确实没有区别(在您的情况下),因为字符串以一种相当明显的方式变成了 HTTP 响应正文。
但是,在 Spring MVC 中,控制器方法不仅可以返回 String,还可以返回许多其他有趣的东西。注释
@ResponseBody让框架知道您从该方法返回的对象需要被传递HttpMessageConverter,以便准备好发送给客户端的视图。PS。顺便注意一下,注解不是指返回类型声明,而是指整个方法声明。因此,你可以这样写: