返璞归真day11 用户中心精研版(第二块)

@Controller 和 @RestController的区别(我将RestController写成了Controller)

在 Spring 框架中,@Controller 和 @RestController 都是用于标识 “控制器” 类的注解,但它们的核心作用和使用场景有明显区别,主要体现在返回值的处理方式上。

  1. 本质区别:是否默认包含 @ResponseBody
  • @Controller:是 Spring MVC 中最基础的控制器注解,用于标识一个类为 “请求处理器”,主要用于处理 HTTP 请求并返回视图(如 JSP、Thymeleaf 页面)。若要通过 @Controller 注解的方法返回数据(如 JSON、XML),需要在方法上额外添加 @ResponseBody 注解。
  • @RestController:是 Spring 4.0 引入的 “组合注解”,等价于 @Controller + @ResponseBody。它的核心作用是返回数据(而非视图),因此被注解的类中所有方法默认都会将返回值直接转换为 JSON/XML 等格式(通过消息转换器),无需再单独添加 @ResponseBody。

这玩意竟然还有俩,本来不打算回宿舍的但是挺不住有点累回去睡了一觉

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
别80我辣
下载 APP