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

目录
相关文章
|
Java 关系型数据库 数据库连接
MyBatis-Plus整合SpringBoot及使用
务必记住,随着MyBatis-Plus版本的更新,一些具体的配置和使用方式可能会有所变动。在实际开发过程中,建议参考MyBatis-Plus的官方文档,以获取最新和详细的指导。
962 1
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
|
XML JSON 算法
JWT详细讲解(保姆级教程)
本篇博文详细讲解JWT概念,组成,运行过程,和SAM相比的优势,并附加SpringBoot整合JWT的案例。
JWT详细讲解(保姆级教程)
|
5月前
|
人工智能 Linux API
小红书运营自动化图文教程!OpenClaw全平台部署(阿里云/Win11/Mac/Linux)+百炼API+集成小红书Skill指南
OpenClaw作为开源自主AI私人助理,凭借“本地运行、多平台协同、技能可扩展”的核心优势,成为2026年小红书运营者的效率神器。它能直接运行在用户设备或阿里云服务器上,执行文件管理、浏览器自动化、消息发送等真实任务,更可通过集成XiaohongshuSkills实现小红书笔记定时发布、内容搜索、竞品监控、多账号管理等全流程自动化,彻底解放运营者双手。
4932 5
|
Java 开发者 Spring
深入解析:Spring AOP的底层实现机制
在现代软件开发中,Spring框架的AOP(面向切面编程)功能因其能够有效分离横切关注点(如日志记录、事务管理等)而备受青睐。本文将深入探讨Spring AOP的底层原理,揭示其如何通过动态代理技术实现方法的增强。
751 8
|
9月前
|
文字识别 安全 程序员
PowerToys微软官方效率工具实操教程!Windows系统增强神器!
PowerToys是微软官方推出的免费开源工具集,集成20余款高效插件,如窗口管理、快速启动、批量重命名、OCR文字提取等,显著提升Windows使用体验,支持多屏协作、快捷操作,安全稳定,持续更新,适合各类用户优化工作效率。
1378 6
|
程序员 开发者 Python
什么是 `def` 语句?
`def` 是 Python 中定义函数的关键字,用于创建可重用代码块。函数可以有参数,如`greet_with_name(name)`,默认参数,如`greet_with_default(name="Guest")`,并能通过`return`返回值。Python函数还能返回多个值,如元组。`lambda`用于创建匿名函数,而函数本身可以作为其他函数的参数,实现函数式编程。递归函数(如`factorial(n)`)能调用自身。嵌套函数允许在函数内部定义私有函数,装饰器通过`@`符号修饰函数,扩展其功能。掌握这些概念能提升代码的模块化和效率。
1728 2
|
设计模式 XML 开发框架
Spring框架中的SpringMvc三种方案实现的页面跳转(第十五课)
Spring框架中的SpringMvc三种方案实现的页面跳转(第十五课)
735 0
|
缓存 NoSQL JavaScript
这没得挑,超详细java前后端开发需掌握的框架及技术
这没得挑,超详细java前后端开发需掌握的框架及技术
1010 0
这没得挑,超详细java前后端开发需掌握的框架及技术
|
Java 关系型数据库 MySQL
mybatis-generator生成通用mapper中文乱码解决
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-co
4000 0