@Controller和@RestController的区别

@Controller和@RestController都是Spring MVC框架中的注解,用于标识一个类是Spring MVC controller处理器,可以接收HTTP请求,但它们的主要区别在于目标和方法返回的类型。

@Controller注解主要用来接收HTTP请求并返回最终页面,即典型的MVC模式中的"C",控制器的动作主要是转发和跳转。如果一个类用@Controller注解,那么它的方法可以返回String、ModelAndView、Map<String, Object>等类型,用于填充视图。

而@RestController注解是@Controller和@ResponseBody的结合体,它也用于接收HTTP请求,但主要是用来返回JSON、XML等数据格式。也就是说,如果需要返回JSON、XML等数据格式,那么应该使用@RestController注解。在@RestController注解的类中,方法只能返回Java Bean、String、Integer、Double、Boolean等类型的数据,Spring会将这些数据转化为JSON或XML格式。

总结起来,如果需要返回的是HTML页面,应该使用@Controller注解;如果需要返回的是JSON格式的数据,应该使用@RestController注解。

相关推荐
Escalating_xu4 分钟前
【C 语言】数据在内存中的存储:补码、大小端、整型陷阱与 IEEE 754 全解析
java·c语言·网络
灯澜忆梦24 分钟前
【面向对象编程C++】| 基础语法
java·c++·算法
一个风轻云淡34 分钟前
GCC 和 GDB命令简单解读
java·linux·前端
省钱兄--zs35 分钟前
西安24小时自助健身房解决方案实战:系统开发与部署全流程指南
java·spring boot·系统架构·intellij-idea·需求分析
资料库011 小时前
Linux 8个常见运维故障排查
java·linux·运维
要开心吖ZSH1 小时前
MySQL 慢 SQL 排查操作手册-个人笔记版
java·笔记·sql·mysql·慢查询
Joy T2 小时前
Spring AI 接入已有 Java 项目的三种架构设计
java·人工智能·springai·ai入门·chatclient·ai service·ai能力接入
杨运交2 小时前
[076][核心模块]构建优雅的Java异常处理框架:从错误码到全局异常处理
java·开发语言
caoerzhong3 小时前
仓库数字化成熟度分级:JeeWMS 开源 Java 仓库管理系统如何支撑从可见到自治的四级跃迁
java·开源
MayBaymax3 小时前
RocketMQ 存储机制
java·rocketmq