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!";
        }
    }
  • 相关阅读:
    前端面试详解
    nodejs mysql模块简单封装
    关于python字符串拼接的几种方法
    JavaScript递归简单实现个对象深拷贝
    HTTP协议类
    dom事件类
    css之浮动
    Less主要用法
    js中控制流管理的四种方法
    js for in 和 for of 的区别
  • 原文地址:https://www.cnblogs.com/xuzichao/p/8594315.html
Copyright © 2011-2022 走看看