@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

目录
相关文章
|
14天前
|
XML JSON 前端开发
@RestController和@Controller的区别
【9月更文挑战第18天】@RestController和@Controller的区别
|
2月前
|
前端开发 Java 调度
女朋友要我讲解@Controller注解的原理,真是难为我了
该文章详细解析了Spring MVC中@Controller注解的工作原理,包括Spring如何解析该注解、处理标注的方法以及调度控制器方法以完成HTTP请求的过程。
女朋友要我讲解@Controller注解的原理,真是难为我了
|
5月前
|
XML 前端开发 Java
RestController和ResponseBody对比Controller的区别
RestController和ResponseBody对比Controller的区别
|
5月前
|
XML Java API
springboot 常用的注解标签的概念及用法RequiredArgsConstructor 、RestController、RequestMapping
【4月更文挑战第12天】在 Spring Boot 中,@RequiredArgsConstructor, @RestController, 和 @RequestMapping 是常用的注解,每个都有其特定的功能和用法,它们合起来极大地简化了 Spring 应用程序的开发过程。
174 2
|
5月前
|
前端开发 Java 网络架构
为什么Controller就报错404,而改为RestController就不报错了
为什么Controller就报错404,而改为RestController就不报错了
|
JSON 前端开发 Java
Spring 注解之@RestController与@Controller的区别
Spring 注解之@RestController与@Controller的区别
164 0
|
XML JSON Java
Spring - Bean管理之注解(@Component、@Controller、@RestController、@Service、@Repository)
Spring - Bean管理之注解(@Component、@Controller、@RestController、@Service、@Repository)
458 0
Spring - Bean管理之注解(@Component、@Controller、@RestController、@Service、@Repository)
|
Java Spring 数据格式
Controller和RestController的区别
1. Controller, RestController的共同点      都是用来表示Spring某个类的是否可以接收HTTP请求   2.  Controller, RestController的不同点      @Controller:  标识一个Spring类是Spring MVC controller处理器      @RestController:    @RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。
6955 0
|
敏捷开发 开发者
你怎么总是能写出两三千行的controller类?(上)
你一定经常见到一个两三千行的 controller 类,类之所以发展成如此庞大,有如下原因: 长函数太多 类里面有特别多的字段和函数 量变引起质变,可能每个函数都很短小,但数量太多
158 0
你怎么总是能写出两三千行的controller类?(上)
|
XML JSON 前端开发
说说Spring中的 @RestController 和 @Controller
说说Spring中的 @RestController 和 @Controller
297 0
说说Spring中的 @RestController 和 @Controller