• 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
    得到以下结果,验证成功
    在这里插入图片描述

  • 相关阅读:
    Vue3.0 项目启动(打造企业级音乐App)
    systemverilog function的一点小case
    【无标题】
    创建型之单例模式
    【数值计算】基于四阶Runge-Kutta方法实现Mackey_Glass混沌时间序列生成以及相位时差的绘制附matlab代码
    vue 封装Form 表单组件
    Lucene构建索引的原理及源代码分析
    计算机毕业设计ssm飞机售票管理系统63z52系统+程序+源码+lw+远程部署
    高压放大器在复合视觉的深度测量技术中的应用
    会议室预订小程序,共享会议室小程序,微信小程序会议室预约系统毕设作品
  • 原文地址:https://blog.csdn.net/WangChuan_HHH/article/details/127885090