官方文档:
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思就是:
@RestController注解相当于@ResponseBody+@Controller结合在一起的作用
相同点:@RestController与@Controller都是用来表示spring某个类是否可以接收HTTP请求。
主要区别:
1.如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起到作用,返回的内容就是return的内容。
例如,本应该看到login.jsp页面,则其只显示success
2.如果需要返回到指定页面,则需要@Controller配合视图解析器InternalResourceViewResolver才可以。
3.如果需要返回json,xml或者其他自定义mediaType内容到页面,则需要在对应的方法上加上ResponseBody注解。