知识分享之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 国际许可协议 进行许可。
网友评论