知识分享之Springboot——常用注解@Controller与@RestController区别

本文介绍了Springboot中@Controller和@RestController注解的区别。@Controller常用于配合模板引擎如Thymeleaf,返回HTML页面。而@RestController则是@Controller和@ResponseBody的组合,适用于返回JSON等数据,不走视图解析器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

知识分享之Springboot——常用注解@Controller与@RestController区别

背景

日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。
同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

开发环境

  • 系统:windows10
  • JDK:openjdk11
  • 开发工具:IDEA 教育版
  • 框架:SpringBoot
  • 包管理:Gradle

内容

在日常使用Springboot框架时,我们需要编写一系列的各种各样的控制器,而最常用的就是注解@Controller与@RestController,对此有些小伙伴可能不清楚两者的区别,本节将其整理出来分享给大家。

1、@Controller 注解

@Controller 注解通常是配合Springboot中模板解析使用的。例如Thymeleaf、FreeMarker等,下面是使用的例子。

@Controller
public class IndexController {
     @RequestMapping(value="/index")
     public String index(){
          return "index.html"
     }
}

这里index.html指的就是我们使用模板格式编写的HTML页面。请求访问http://localhost:8080/index时将进入index方法,方法会进行返回至模板文件夹中的对应的html文件进行解析呈现。

2、@RestController注解

@RestController注解是Spring4以后引入的,它是@ResponseBody和@Controller的结合体。相当于我们的类上面增加了@Controller和@ResponseBody注解。
这主要是用于我们的控制器中有需要返回指定格式的相应时进行使用的,例如我们需要该请求接口返回JSON数据时,就需要使用@RestController注解。
注:使用该注解时请求不会再走视图处理器。

本文声明:
88x31.png
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN華少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值