当前位置: 首页 > article >正文

@Controller和@RestController的区别

@Controller和@RestController的区别

  • Controller
    • 定义
  • RestController
    • 定义
  • 两者共同点
  • 两者区别

Controller

定义

Controller是SpringBoot的基本组件,也是MVC结构的组成部分,其作用是将用户提交来的请求通过URL匹配分发给不同的接收器(具体的Controller),该接收器会对其进行相应处理,然后返回处理结果

RestController

定义

@Controller和@ResponseBody的一个组合,当我们使用@RestController注解定义一个类的时候,这个类中方法传递给前端的数据会自动转换为json类型。

需要注意的是:@RestController只是标识类传递给前端的数据类型为json,而类中的方法如果想接受前端的数据还是需要在对应的方法参数中添加@RequestBody注解。

两者共同点

都是用来表示Spring某个类是否可以接收HTTP请求。

两者区别

@Controller:标识一个Spring类是Spring MVC controller处理器。@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模板页面。在方法上加@ResponseBody注解,也可以返回实体对象。

@RestController:@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。@RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模板页面。

@RestController中的方法如果想跳转页面,则用ModelAndView进行封装。

参考资料

  1. Springboot中的Controller
  2. Controller和RestController的区别

http://www.kler.cn/news/6077.html

相关文章:

  • 2023年全国最新高校辅导员精选真题及答案38
  • 【测试开发】python 应用时间做事情
  • 3.JAVA基础面试题:其他
  • git pull git push的详细使用
  • 帮公司面试了一个32岁的程序员,只因这一个细节,被我一眼看穿是培训班出来的,没啥工作经验...
  • C++笔记——第十二篇 二叉搜索树
  • 【对比学习(二)】如何得到正负样本?下游任务的具体执行阶段(以特斯拉为例简要讲解)?你知道什么是“模型坍塌”么?【NLP】中该如何做对比学习?
  • 初识Matlab2012a的神经网络工具箱(1)
  • 【LeetCode】二叉树的中序遍历(递归,迭代,Morris遍历)
  • SELECT COUNT(*) 会造成全表扫描吗
  • Disjoint 集合数据结构或 Union-Find 算法简介
  • jsp823科研项目申报管理网站cc94程序mysql+java
  • Uni-Mol: A Universal 3D Molecular Representation Learning Framework
  • 使用new bing chat成功了
  • 华为OD机试用java实现 -【数字的排列 or 数字反转打印】
  • CRM客户管理系统不被销售接受的五大原因
  • 二、MySQL 基础
  • 【软考——系统架构师】系统开发基础知识
  • 如何保证RocketMQ顺序消息以及可能出现的问题
  • Databend 开源周报第 86 期
  • 【CSS】清除浮动 ① ( 清除浮动简介 | 清除浮动语法 | 清除浮动 - 额外标签法 )
  • 计算机组成原理:5. 输入输出系统
  • Higress 0.7.0 版本发布:GA 进入倒计时
  • 学会吊打面试官之list
  • 通过两道一年级数学题反思自己
  • LeetCode222. 完全二叉树的节点个数(二分查找+二进制表示路径法)
  • 免 交 互
  • 2023年6月18日的CDGA/CDGP数据治理认证考试报名开始啦!
  • 主机系统扫描程序设计
  • 阿里6年,一个32岁女软件测试工程师的心声