Springboot日常总结-@RestController和@Controller的区别

@RestController和 @Controlle是两种不同的控制器实现,它们的主要区别在于如何处理返回的数据和是否支持跳转到视图页面。

  1. Controller 是一个基本的控制器注解,它允许你将一个类标记为一个Spring MVC控制器处理器。使用 Controller 的类中的方法可以直接返回一个字符串,这通常意味着返回的是一个模板页面,如JSP、FTL或HTML。为了返回这些模板页面,通常需要配合视图解析器来返回到指定的页面。
  2. RestController 是 Controller 和 ResponseBody 注解的结合体,它提供了一种更简洁的方式来处理返回的JSON数据。使用 RestController 的类中的方法只能返回字符串、对象或JSON等实体对象,而不能跳转到模板页面。这是因为 RestController 默认使用@ResponseBody 注解,它与 @Controller 注解结合,使得所有方法都以JSON格式返回数据。

总结来说,@RestController返回的是json格式的数据,而@Controller返回的是模板页面。

相关推荐
渣哥11 小时前
原来公平锁和非公平锁差别这么大
java
渣哥11 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K11 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
EMQX11 小时前
ESP32 + MCP over MQTT:通过大模型控制智能硬件设备
后端·mcp
郭京京12 小时前
go框架gin(中)
后端·go
郭京京12 小时前
go框架gin(下)
后端·go
kfyty72512 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
林树的编程频道12 小时前
单例模式的推导
后端
就是帅我不改12 小时前
揭秘Netty高性能HTTP客户端:NIO编程的艺术与实践
后端·面试·github
Ray6612 小时前
SugLucene索引构建
后端