Spring中@Controller和@RestController的区别详解
更新时间:2023年10月19日 10:24:22 作者:yuhuofei2021
这篇文章主要介绍了Spring中@Controller和@RestController的区别详解,@RestController 是 @Controller 和 @ResponseBody 的结合体,单独使用 @RestController 的效果与 @Controller 和 @ResponseBody 二者同时使用的效果相同,需要的朋友可以参考下
@Controller 和 @RestController
最近遇到注解 @Controller 和 @RestController 在使用上的小问题,记录一下二者的区别。
相同点
都可以用来表示 Spring 的某个类,是否可以接收 HTTP 请求
不同点
@RestController

- 由源码可知,@RestController 是 @Controller 和 @ResponseBody 的结合体,单独使用 @RestController 的效果与 @Controller 和 @ResponseBody 二者同时使用的效果相同
- 使用 @RestController 注解标记的类,它里面的所有方法只能返回 String、Object、Json 等实体对象,不能跳转到 jsp 或者 html 等模版页面
@Controller

- 标识一个 Spring 类是 Spring MVC controller处理器
- 用注解 @Controller 标记的类,它里面的方法的返回值,会直接被视图解析器解析为页面地址,并跳转到相应的 jsp,html 页面
- 在被注解 @Controller 标记的类中,如果某个方法想返回实体对象,那么需要在该方法上,加上 @ResponseBody 注解,如下所示
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@ResponseBody
@RequestMapping("/queryAllUser")
public List<User> queryAllUser() {
return userService.queryUserList();
}
}
到此这篇关于Spring中@Controller和@RestController的区别详解的文章就介绍到这了,更多相关@Controller和@RestController的区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring Boot 整合 Fisco Bcos部署、调用区块链合约的案例
本篇文章介绍 Spring Boot 整合 Fisco Bcos 的相关技术,最最重要的技术点,部署、调用区块链合约的工程案例,本文通过流程分析给大家介绍的非常详细,需要的朋友参考下吧2022-01-01
如何使用Spring Boot ApplicationRunner解析命令行中的参数
这篇文章主要介绍了使用Spring Boot ApplicationRunner解析命令行中的参数,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2018-12-12


最新评论