zoukankan      html  css  js  c++  java
  • 10、@Controller跟@RestController注解的使用

    测试两个注解定义的类中方法的返回值:


    • @Controller:定义一个控制器类,
    • @RestController: 注解相当于 @Controller + @ResponseBody 合在一起的作用。
    • @ResponseBody:标记Controller类中的方法。把return的结果变成JSON对象返回。
    •         (如果没有这个注解,这个方法只能返回要跳转的路径即跳转的html/JSP页面。有这个注解,可以不跳转页面,只返回JSON数据)
    • @RequestMapping:给出外界访问方法的路径,或者说触发路径 ,触发条件。

    @Controller注解返回字符串:


      我们都知道@Controller注解作用在类上面,这个类中方法的返回值,是一个jsp或者其他页面的名称,会跳转到指定的页面

    有的时候并不希望它跳转到一个页面,而是想让它返回json字符串(配合@ResponseBody):

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    /**
     * @author zhangzhixi
     */
    @Controller
    @RequestMapping("/some")
    public class SomeController {
    
        @RequestMapping("/demo1")
        @ResponseBody
        public String test1(){
            return "Hello World!";
        }
    }

    浏览器访问:

    @RestController注解返回字符串:


    @RestController注解也是作用到类中,但是它当中方法的返回值是JSON类型,所以相当于:@Controller+@ResponseBody

    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * @author zhangzhixi
     */
    @RestController
    @RequestMapping("/some")
    public class SomeController {
    
        @RequestMapping("/demo2")
        public String test1(){
            return "Hello World!";
        }
    }

    浏览器访问:

  • 相关阅读:
    redis数据同步之redis-shake
    spring拦截机制中Filter(过滤器)、interceptor(拦截器)和Aspect(切面)的使用及区别
    MySQL之MVCC与幻读
    Notepad
    mac环境,python+selenium环境搭建,解决chromedriver报错问题
    大规模抓取的抓取效率和抓取技巧问题
    安卓逆向8,解决app抓包抓不到的问题
    [loj6033]棋盘游戏
    [ccBB]Billboards
    [loj6051]PATH
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/14316924.html
Copyright © 2011-2022 走看看