Controller 返回一个页面单独使用
@Controller 不加 @ResponseBody的话一般使用在要返回一个视图的情况,这种情况属于比较传统的Spring MVC 的应用,对应于前后端不分离的情况
@RestController 返回JSON 或 XML 形式数据
但@RestController只返回对象,对象数据直接以 JSON 或 XML 形式写入 HTTP 响应(Response)中,这种情况属于 RESTful Web服务,这是目前日常开发所接触的最常用的情况(前后端分离)
@Controller +@ResponseBody 返回JSON 或 XML 形式数据
如果需要在Spring4之前开发 RESTful Web服务的话,需要使用 @Controller 并结合@ResponseBody注解,
即@Controller +@ResponseBody= @RestController(Spring 4 之后新加的注解)
@ResponseBody 注解的作用是
将 Controller 的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到HTTP 响应(Response)对象的 body 中,用来返回 JSON 或 XML 数据( JSON 较多)