@Controller 和 @RestController 区别是什么
Posted huyuchengus
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@Controller 和 @RestController 区别是什么相关的知识,希望对你有一定的参考价值。
@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 区别是什么的主要内容,如果未能解决你的问题,请参考以下文章
如何在可迭代的 Spring Boot Flux 中延迟发射每个项目
JavaFX: FXML嵌套和子Controller(Sub-Controller)
@Controller和@RestController的区别?
iOS第八课——Navigation Controller和Tab bar Controller