• Springboot常用参数注解


    访问路径为http://localhost:8080/

    @PathVariable

    @GetMapping("/get/{id}/blank/{name}")
        public Map getValue(@PathVariable("id") Integer id,
                             @PathVariable("name") String name,
                             @PathVariable Map<String,String> kv){
                             
            Map map = new HashMap<String,Object>();
            map.put("id",id);
            map.put("name",name);
            map.put("map",kv);
    
            return map;
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    Restful风格获取路径的数据,适用于get方式获取数据。id和name的常规获取方式我比较熟悉。
    值得注意的是@PathVariable注解可以直接用Map方式进行获取。key是@PathVariable(“key”)中所写入的"key",value是路径中传入的数据。
    路径变量分别是id和name,那么id和name会以键值对的方式传入我们自定义的名为kv的map中。
    在浏览器中输入:http://localhost:8080/get/15/blank/laowang
    得到以下内容,验证成功
    在这里插入图片描述

    @RequestHeader

    @GetMapping("/getHeaders")
        public Map getHeaders(@RequestHeader("User-Agent") String userAgent,
                              @RequestHeader Map<String ,String > headers){
            HashMap<String, Object> map = new HashMap<>();
            map.put("UA",userAgent);
            map.put("headers",headers);
            return map;
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    如果在@RequestHeader中指定了获取Header中的哪项值,就会获取某个值,比如我写的"User-Agent",如果指定,那么生命一个Map类型的Map可以接收全部的Header数据。
    向浏览器输入:
    得到以下内容,验证成功
    5

    @RequestParam

    @GetMapping("/getValue")
        public Map getValues(@RequestParam("id") Integer id,
                             @RequestParam("name") String name,
                             @RequestParam Map<String,String> kv){
            HashMap<String, Object> map = new HashMap<>();
            map.put("id",id);
            map.put("name",name);
            map.put("map",kv);
            return map;
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    @RequestParam与@PathVariable相同,单独获取我熟悉。值得注意的是,它同时也支持用Map获取全部数据。
    在浏览器中输入:http://localhost:8080/getValue?id=15&name=laowang
    获得以下结果,验证成功
    在这里插入图片描述
    ##@CookieValue
    在请求体里有如下的值
    在这里插入图片描述

     @GetMapping("/getCookie")
        public Map getCookie(@CookieValue("Pycharm-5b7a320") String _ga,
                             @CookieValue("Pycharm-5b7a320") Cookie cookie){
            HashMap<String, Object> map = new HashMap<>();
            map.put("Pycharm-5b7a320",_ga);
            map.put("cookie",cookie);
            return map;
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    @CookieValue支持两种格式,一个是形参定义为String类型,或者定义为一个Cookie类型
    向浏览器发送:http://localhost:8080/getCookie
    得到以下结果,验证成功
    在这里插入图片描述

  • 相关阅读:
    我的创作纪念日
    Pandas教程 | 超好用的Groupby用法详解
    函数式编程总结与应用
    你不知道的互联网公司招聘黑话大全
    ElasticSearch详解
    Java开发学习(三)----Bean基础配置及其作用范围
    Docker系列 自建代码托管和版本控制平台Gogs
    在VMware Workstation Pro安装win7
    quarkus数据库篇之二:无需数据库也能运行增删改查(dev模式)
    强制不允许用户缩放页面
  • 原文地址:https://blog.csdn.net/WangChuan_HHH/article/details/127885090