首先:该注解属于 Spring MVC
官方文档如下解释:
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
翻译版:
其中,“结合” 的意思 并不是 @RestController 完全可以替代 @Controller + @ResponseBody
1,@RestController注解在类上,表明每个方法返回的都是 JSON、XML 或其他自定义媒体类型;
2、不能完全替代的原因在于:@Controller标注在类上,可以灵活地通过标注@ResponseBody注解在不同的方法上,实现跳转页面或者返回数据;
3,@Controller 与 @RestController都实现声明控制器的功能;
如上,个人理解。以后理解深入了,再来更新!
----------------------------------------17-8-29日更新-----------------------------------------------
我们的项目为什么要使用 @RestController?
应该是为了跟 Swagger 交互
----------------------------------------17-12-27日更新-----------------------------------------------
如上 1,2,3;