zoukankan      html  css  js  c++  java
  • spring-boot-route Controller接收参数的几种方式

    Controller接收参数的常用方式总体可以分为三类。第一类是Get请求通过拼接url进行传递,第二类是Post请求通过请求体进行传递,第三类是通过请求头部进行参数传递。

    1 @PathVariable接收参数

    请求方式:localhost:7001/param/123

    @GetMapping("{id}")
    public String getPathVariable(@PathVariable String id){
        return "id="+id;
    }
    

    2 @RequestParam接收参数

    使用这个注解需要注意两个点,一是加了这个参数后则请求中必须传递这个参数,二是@RequestParam这个注解可以指定名字,请求参数必须和指定的这个名字相同,如果不指定,则默认为具体参数名。

    请求方式:localhost:7001/param/getParam?myId=18

    @GetMapping("getParam")
    public String getRequestParam(@RequestParam("myId") String id){
        return "id="+id;
    }
    

    3 无注解传参

    这种方式和2对比,最大的区别就是这个参数不是必传的,请求路径上可以不传递。

    请求方式:localhost:7001/param/getString?id=18

    @GetMapping("getString")
    public String getString(String id){
        return "id="+id;
    }
    

    4 HttpServletRequest接收参数

    请求方式:localhost:7001/param/getRequest?id=18

    @GetMapping("getRequest")
    public String getRequest(HttpServletRequest request){
        String id = request.getParameter("id");
        return "id="+id;
    }
    

    5 @RequestBody接收请求体参数

    这种方式一般用来传递实体对象,加了这个注解后,参数也是必传的。

    请求方式:{"id":18}

    @PostMapping("getBody")
    public String getBody(@RequestBody String id){
        return "id="+id;
    }
    

    6 @RequestHeader接收请求头参数

    @PostMapping("getHeader")
    public String getHeader(@RequestHeader String id){
        return "id="+id;
    }
    

      

  • 相关阅读:
    HDU3145 Max Sum of Max-K-sub-sequence (单调队列模板)
    AcWing1088 旅行问题(单调队列)
    POJ1821 Fence(单调队列)
    POJ1742 Coins(多重背包+二进制优化)
    AcWing217 绿豆蛙的归宿(期望)
    BZOJ.2134.[国家集训队]单选错位(概率 递推)
    洛谷.3805.[模板]manacher算法
    Codeforces.280C.Game on Tree(期望)
    BZOJ.2521.[SHOI2010]最小生成树(最小割ISAP/Dinic)
    洛谷.4172.[WC2006]水管局长(LCT Kruskal)
  • 原文地址:https://www.cnblogs.com/bao-bei/p/13784140.html
Copyright © 2011-2022 走看看