zoukankan      html  css  js  c++  java
  • 浅谈@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!";
        }
    }
  • 相关阅读:
    文件上传漏洞全面渗透姿势总结
    注册frpc为windows服务,可在未登录用户时启动
    SpringIOC 容器注入方式
    如何交换 Integer 的值?
    分布式websocket服务器
    win10安装Hbase2.3.0
    hadoop常用的命令
    win10安装kafka 2.122.8.1
    win10激活码
    win10 flume source为spooldir,输出到hdfs
  • 原文地址:https://www.cnblogs.com/xuzichao/p/8594315.html
Copyright © 2011-2022 走看看