扫码阅读
手机扫码阅读

Spring中 @Controller和@RestController区别

286 2024-07-18

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:Spring中 @Controller和@RestController区别
文章来源:
springboot葵花宝典
扫码关注公众号
Spring中@Controller和@RestController区别摘要

Spring中 @Controller和@RestController区别摘要

网站开发模式

网站开发主要分为两种模式:前后端分离和混合开发。

  • 前后端分离:前端程序和后端程序分别由前端和后端人员开发,分别部署在各自的服务器上。这种模式是目前企业开发的主流。
  • 混合开发:前端和后端代码在同一个项目中,打包后一起部署。这种模式曾流行于早期开发技术,但现已逐渐退出市场。

@Controller和混合开发

@Controller注解主要用于传统前后端混合开发,用来生成HTML页面的控制器。

  • 通过@RequestMapping处理请求,通常返回视图(View)。
  • 适合以服务器渲染为主的应用,不适用于前后端分离场景。

代码演示:创建一个SpringBoot项目,添加相关依赖(如spring-boot-starter-web和spring-boot-starter-thymeleaf)。在控制器中使用@Controller注解,通过返回视图名称来渲染HTML页面。

@Controller和前后端分离开发

在前后端分离开发中,后端通常返回JSON数据而不是视图文件。使用@Controller注解时,可以配合@ResponseBody注解实现方法返回JSON数据。

  • @ResponseBody注解可以添加到类或方法上,表示返回的内容是JSON格式。
  • 示例代码:在方法上添加@ResponseBody注解,返回字符串或JSON数据。

@RestController和前后端分离开发

@RestController是Spring官方推出的注解,用来简化前后端分离开发场景。它是@Controller和@ResponseBody的组合。

  • 使用@RestController注解时,控制器中的所有方法默认返回JSON数据。
  • 代码实现:@RestController注解的底层实际上是@Controller和@ResponseBody的结合。

如果本文对您有帮助,请点赞、收藏并分享支持。原创内容不易,转载请注明出处,谢谢!

想要了解更多内容?

查看原文:Spring中 @Controller和@RestController区别
文章来源:
springboot葵花宝典
扫码关注公众号