很多情况下我们希望后端的调用结果能直接写入Http的响应体中以供前端获取来更新页面显示,此时需要我们在以@controller为注解的类中对相应方法加上@ResponseBody注解:
@Controller
class HelloWorldController {
@RequestMapping("/hello")@ResponseBodypublic String hello(){
return "Hello World!";}
}
我们也可以对类整体加上@ResponseBody注解以表示这个类中所有方法的返回值都写入Http的响应体中:
@Controller
@ResponseBody
class HelloWorldController {
@RequestMapping("/hello")public String hello(){
return "Hello World!";}
}
但是慎重起见还是第一种方法更常用,因为controller类中的方法可能会有重定向。
我们也可以将Controller和ResponseBody合二为一:
@RestController
class HelloWorldController {
@RequestMapping("/hello")public String hello(){
return "Hello World!";}
}
实际@RestController是同时集成了两种注解: