• 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!";
        }
    }

    浏览器访问:

  • 相关阅读:
    Confluence5.6.6安装和破解
    Redis 数据备份与恢复
    Linux Shell
    戴尔R720安装ESXI系统
    zbb20171223 vm12 Vmware虚拟机设置静态IP地址
    zbb20171221 bootstrap 模态窗口
    zbb20171221 thymeleaf 格式化工具 工具对象用法
    zbb20171221 thymeleaf 基本语法
    zbb20171221 thymeleaf th:each
    zbb20171215 maven pom 包命名搜索地址
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/14316924.html
Copyright © 2020-2023  润新知