Spring 注解之@RestController与@Controller的区别

简介: Spring 注解之@RestController与@Controller的区别

1:介绍

@RestController@Controller 是 Spring MVC 中常用的两个注解,它们都可以用于定义一个控制器类。

2:区别

  1. 1.返回值类型不同:@Controller 返回视图,而 @RestController 返回 JSON 或 XML 等格式的数据。
  2. 2.默认情况下,@Controller 所有的方法都默认返回视图,需要在方法上添加 @ResponseBody 注解才能返回数据;而: @RestController 所有的方法都默认返回数据,不需要添加额外的注解。

     3. @RestController相当于@Controller + @ResponseBody,因此 @RestController 更加简便,代码量更少530b9b688e4a4844aa95c4baa4051290.png

3:总体来说

    如果你的控制器主要是用于返回数据,建议使用 @RestController;如果你的控制器主要是用于返回视图,建议使用 @Controller。

       当然,如果需要既返回视图又返回数据,则可以在方法上添加 @ResponseBody 注解,即可同时支持视图和数据的返回。

4:社区地址

https://bbs.csdn.net/forums/9cd650b7a75f4ed68f8fbd9da48fd774?spm=1001.2014.3001.6682

目录
相关文章
|
1天前
|
Java
Springboot 使用自定义注解结合AOP方式校验接口参数
Springboot 使用自定义注解结合AOP方式校验接口参数
Springboot 使用自定义注解结合AOP方式校验接口参数
|
2天前
|
存储 缓存 Java
【JavaEE】Spring中注解的方式去获取Bean对象
【JavaEE】Spring中注解的方式去获取Bean对象
3 0
|
2天前
|
存储 Java 对象存储
【JavaEE】Spring中注解的方式去存储Bean对象
【JavaEE】Spring中注解的方式去存储Bean对象
7 0
|
2天前
|
XML Java 数据库连接
Spring框架与Spring Boot的区别和联系
Spring框架与Spring Boot的区别和联系
23 0
|
2天前
|
JSON 前端开发 Java
【JAVA进阶篇教学】第七篇:Spring中常用注解
【JAVA进阶篇教学】第七篇:Spring中常用注解
|
2天前
|
JavaScript Java 开发者
Spring Boot中的@Lazy注解:概念及实战应用
【4月更文挑战第7天】在Spring Framework中,@Lazy注解是一个非常有用的特性,它允许开发者控制Spring容器的bean初始化时机。本文将详细介绍@Lazy注解的概念,并通过一个实际的例子展示如何在Spring Boot应用中使用它。
21 2
|
2天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
57 0
|
2天前
|
缓存 安全 Java
Spring Boot 面试题及答案整理,最新面试题
Spring Boot 面试题及答案整理,最新面试题
138 0
|
2天前
|
存储 JSON Java
SpringBoot集成AOP实现每个接口请求参数和返回参数并记录每个接口请求时间
SpringBoot集成AOP实现每个接口请求参数和返回参数并记录每个接口请求时间
48 2
|
2天前
|
前端开发 搜索推荐 Java
【Spring底层原理高级进阶】基于Spring Boot和Spring WebFlux的实时推荐系统的核心:响应式编程与 WebFlux 的颠覆性变革
【Spring底层原理高级进阶】基于Spring Boot和Spring WebFlux的实时推荐系统的核心:响应式编程与 WebFlux 的颠覆性变革