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

浅谈@RestController和@Controller的区别

在做Spring MVC开发时,如果对@RestController或者@Controller这两个注解理解不够清晰的话,就难免会出现用混的情况。而混用的结果往往是无法实现期望的跳转结果或者是直接将跳转页的名称输出到页面上了。其实从混用后得到的结果就很容易对两者的区别(或者说是使用场景的区别)得出一个简单的结论。那就是需要将xml或者json进行输出的时候,使用@RestController。自然,跳转的时候就应该使用@Controller。可问题就来了,如果在一个类中,你又想实现输出,又想实现跳转,该怎么做呢?

想要回答这个问题,需要弄明白这两者到底有什么区别。

首先从命名上来看,有一种包含的感觉。确实,官方说明文档中是有如下说明的。@RestController is a stereotype annotation that combines @ResponseBody and @Controller.也就是说@RestController = @ResponseBody + @Controller。而这两者分别是用来输出数据和实现跳转的。那么这时我们就知道了,如果一个类中又想实现数据又想实现跳转,在方法前加上@ResponseBody即可,像这样

@Controller
public class DemoController {
    @ResponseBody
    public String test() {
        return "Hello World!";
    }
}

 

转载于:https://www.cnblogs.com/xuzichao/p/8594315.html

相关文章:

  • KMP算法之我见
  • Java 内省(Introspector)深入理解
  • Hibernate如何支持事务
  • PS
  • Pycharm增加新安装Python的路径
  • 题解 P2626 【斐波那契数列(升级版)】
  • IP地址的分类
  • The POM for ... is missing, no dependency information available
  • 云计算之路-阿里云上-容器服务:移除节点引发博问站点短暂故障
  • .Net小白的大学四年,内含面经
  • 刷题小知识点
  • 学习日记4、datagrid多行删除
  • 由编译器指定数组长度带来的一个问题
  • 我只想安静地写代码,领导却跟我谈大局、讲奉献(转 程序员精选)
  • js中的DOM节点操作---增删改查
  • CSS中外联样式表代表的含义
  • github指令
  • JAVA_NIO系列——Channel和Buffer详解
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • PhantomJS 安装
  • Puppeteer:浏览器控制器
  • Python 基础起步 (十) 什么叫函数?
  • Python中eval与exec的使用及区别
  • select2 取值 遍历 设置默认值
  • Vue2.0 实现互斥
  • vue-loader 源码解析系列之 selector
  • vue总结
  • 多线程事务回滚
  • 好的网址,关于.net 4.0 ,vs 2010
  • 欢迎参加第二届中国游戏开发者大会
  • 计算机常识 - 收藏集 - 掘金
  • 前端面试之CSS3新特性
  • 如何学习JavaEE,项目又该如何做?
  • 使用 Docker 部署 Spring Boot项目
  • elasticsearch-head插件安装
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 如何在招聘中考核.NET架构师
  • ​LeetCode解法汇总518. 零钱兑换 II
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #{}和${}的区别是什么 -- java面试
  • #include
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (3)llvm ir转换过程
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (一)基于IDEA的JAVA基础12
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .NET Core 项目指定SDK版本
  • .NET Core 中插件式开发实现