@RestController是Spring MVC框架中的一个注解
形象地解释:
@RestController = @Controller + @ResponseBody
因此@RestController 有上面两个注解的功能
@Controller 注解用于标识一个类为控制器
@ResponseBody 注解用于指定将方法返回的对象转换为 JSON 或 XML 格式的响应体。
@RestController用于标记一个类或者方法,表示该类或方法用于处理HTTP请求,并将响应的结果直接返回给客户端,而不需要进行视图渲染。
使用 @RestController可以方便地将 Java 类转换为 RESTful API 控制器,以便用于处理 HTTP 请求和响应。
需要注意的是,使用@RestController注解时,方法返回值默认会被转换成JSON格式,并通过HTTP响应返回给客户端。如果需要返回其他格式的数据,可以使用其他注解,比如@ResponseBody注解或者使用特定的视图解析器来渲染视图。
原理
当 Spring Boot 应用程序接收到 HTTP 请求时,它会查找与请求 URL 匹配的 @RestController 控制器。
如果找到了匹配的控制器,Spring Boot 将调用匹配方法并将其返回值转换为 JSON 或 XML 响应体,并将其发送回客户端。
@RestController 注解的原理是使用 Spring MVC 框架来处理 HTTP 请求和响应。
Spring MVC 框架使用 @RequestMapping 注解将请求 URL 映射到控制器方法,并使用 @ResponseBody 注解将方法返回的对象转换为响应体。@RestController 注解是 @Controller 和 @ResponseBody 注解的组合,可以方便地实现 RESTful API。
具体使用可查看下面这篇文章