码迷,mamicode.com
首页 > 其他好文 > 详细

@Controller 和 @RestController 区别是什么

时间:2020-04-14 22:58:34      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:content   log   web   对象   mes   highlight   nta   body   eclipse   

@RestController 在 Spring MVC 中就是 @Controller 和 @ResponseBody 注解的集合。

@RestController 注解是从 Spring 4.0 版本开始添加进来的,主要用于更加方便的构建 RESTful Web 服务。

@ResponseBody

该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。使用此注解此次请求将不再走视图处理器,而是直接将此响应结果写入到输入流中,其效果等同于使用response对象输出指定格式的数据。

在 RESTful 的服务中,我们大部分情况是使用 JSON 为返回数据的,所以你可以直接使用  @RestController 替换掉 @Controller 和 @ResponseBody。

根据上面的解释,下面的 2 段代码是完全一样的:

@Controller
@ResponseBody
public class MVCController { 
   .. your logic
}


@RestController
public class RestFulController { 
  .... your logic
}

 

https://www.cwiki.us/display/SpringBootZH/questions/57939042

@Controller 和 @RestController 区别是什么

标签:content   log   web   对象   mes   highlight   nta   body   eclipse   

原文地址:https://www.cnblogs.com/huyuchengus/p/12701541.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!