<h3>Controller的使用</h3>

  1. @RestController 用来处理http请求,Spring4之后新加的注解,原来返回json需要 @Controller 配合 @ResponseBody 实现,现在只需要一个 @RestController 即可
  1. @RequestMapping 配置URL映射,限定请求方法、请求参数、请求头 A. 在一个类的函数上面加上@RequestMapping(value = "/",method = RequestMethod.GET) 就是只能通过GET方式访问 http://127.0.0.1:8088/
    @RequestMapping(value = "/",method = RequestMethod.GET)
    public String index(){
        return "OK";
    }
    

    B. 在一个类的函数上面加上 @RequestMapping(value = "/" 就可以通过GET或者POST方式访问 http://127.0.0.1:8088/index

    @RequestMapping(value = "/index")
    public String index(){
        return "OK";
    }
    

    C. 在一个类的上面加上 @RequestMapping(value = "/index",method = RequestMethod.GET) ,要访问该类下面的函数,则URL链接中必须加上 /index ,访问链接 http://127.0.0.1:8088/index/index

    @RestController
    @RequestMapping(value = "/index",method = RequestMethod.GET)
    public class IndexController {
    
        @RequestMapping(value = "/index",method = RequestMethod.GET)
        public String index(){
            return "OK";
        }
    }
    
    </li> <li>@PathVariable 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过 @PathVariable("xxx") 绑定到操作方法的入参中。
    @RequestMapping(value = "/{id}",method = RequestMethod.GET)
    public String index(@PathVariable(value = "id",required = false) Integer myId){
        return "id:"+myId;
    }
    
    1. 放置方法1

    @RequestMapping(value = "/{id}",method = RequestMethod.GET)
    访问URL链接为http://127.0.0.1:8088/index/123 时输出 id:123

    1. 放置方法2

    @RequestMapping(value = "{id}/",method = RequestMethod.GET)
    访问URL链接为 http://127.0.0.1:8088/123/index 时输出 id:123

    @PathVariable(value = "id",required = false)
    value:获取URL中参数的值(要与 @RequestMapping(value = "/{id}") 中的id一致)
    required: 是否必选项</p></li>
    <li><p>@RequestParam

    绑定请求参数
    @RequestParam(value = "id",required = false,defaultValue = "1")

    value:获取URL中参数的值
    required: 是否必选项
    defaultValue: 默认的值

    @RequestMapping(value = "/",method = RequestMethod.GET)
    public String index(@RequestParam(value = "id",required = false,defaultValue = "1") Integer myId){
        return "id:"+myId;
    }
    

    访问URL为 http://127.0.0.1:8088/index/?id=12312 时输出内容为 id:12312
    访问URL为 http://127.0.0.1:8088/index/ 输出内容为 id:1,此时输出的为默认值</p></li>
    <li><p>@GetMapping

    <p>组合注解, @GetMapping(value = "/index") 相当于 @RequestMapping(value = "/index",method = RequestMethod.GET) 的简化版,同样的还有 @PostMapping(value = "/index") 等</p></li>

最后修改:2019 年 03 月 18 日 04 : 47 PM
如果觉得我的文章对你有用,请随意赞赏