栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot 处理请求参数与restful风格

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot 处理请求参数与restful风格

一、普通请求 1.获取单个参数

使用注解@RequestParam指定要获取参数的名称
注:加上这个注解后客户端就必须要传入这个指定名称的参数,否则就会报错

    @RequestMapping("/m1")
    public String method1(@RequestParam("name")String username) {
        return username;
    }
2.当参数有多个时,可将它们封装成一个对象

注:对象的属性名必须与参数名称对应,即参数名为name,那么必须要有一个名为name的属性才能将它获取

    @RequestMapping("/m2")
    public User method2(User user) {
        return user;
    }
3.若传入的多个参数的名称相同,则使用数组或集合接收
    @RequestMapping("/m3")
    public String[] method3(@RequestParam("hobby")String[] hobbys) {
        return hobbys;
    }
    @RequestMapping("/m4")
    public ArrayList method4(@RequestParam("num")ArrayList nums) {
        return nums;
    }
二、Rest请求

虽然请求路径都为“/user”,但若请求方式不同,则执行的方法也不同

   @GetMapping("/user")
    public String method1() {
        return "获取用户";
    }

    @PostMapping("/user")
    public String method2() {
        return "保存用户";
    }
开启表单的隐藏方法

需先开启一个过滤器,这个过滤器会拦截所有请求,如果是post请求且“_method”参数的值为“delete”、“put”、“patch”时,过滤器会生成一个request的包装类并重写里面的getMethod方法,然后放行这个request的包装对象。

spring:
  mvc:
    hiddenmethod:
      filter:
        enabled: true   
获取路径变量
    @GetMapping("/p1/{v1}/p2/{v2}")
    public String method5(@PathVariable("v1")String v1, @PathVariable("v2")String v2, String v3) {
        return "v1 = " + v1 + "; v2 = " + v2 + "; v3 = " + v3;
    }

路径变量可以与参数混合使用

获取cookie
    @GetMapping("/getcookie")
    public void method6(HttpServletResponse res, HttpServletRequest req) throws IOException {
        cookie cookie = new cookie("cookie1","hello");
        res.addcookie(cookie);
        res.sendRedirect(req.getContextPath() + "/getcookie2");
    }

    @GetMapping("/getcookie2")
    public String method7(@cookievalue("cookie1")String val) {
    // 获取cookie的值
        return val;
    }
    @GetMapping("/getcookie3")
    public String method8(@cookievalue("cookie1")cookie val) {
    // 获取整个cookie
        return val.getValue();
    }
获取请求头
    @GetMapping("/host")
    public String method9(@RequestHeader("Host")String host) {
        return host;
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/332419.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号