JavaWeb——请求响应(6/8)-请求:路径参数(介绍、服务端获取单路径、多路径参数,总结)

目录

路径参数介绍

服务端获取路径参数

单个路径参数

多个路径参数

总结


路径参数介绍

定义

  • 路径参数:通过请求URL直接传递参数,使用{..)来标识该路径参数,需要使用@PathVariable 获取路径参数

路径参数是指参数已经成为了 URL 的一部分。例如请求路径是 “/pass/1”,这里的 “1” 既是请求路径的一部分,也是传递给服务端的请求参数。这种参数可以是动态变化的,如 “2”、“100” 等都可以作为请求参数。

服务端获取路径参数

单个路径参数

在 controller 内部的方法上需加 “@RequestMapping” 注解指定请求路径。但请求路径要动态设置,如 “/pass/{id}”,大括号里的 “id” 是路径参数的参数名。

方法中声明形参 “id”,并在前面加上 “@PathVariable” 注解,用于获取路径参数并绑定给方法型参 “id”。路径参数的参数名需与方法行参名称保持一致。

例如,在 Postman 中请求路径是 “/pass/1”,在  IDEA 中定义方法  “pathParam”,“@RequestMapping” 注解指定请求路径为 “/pass/{id}”,方法形参 “id” 前加 “@PathVariable” 注解。方法返回值设为 “String”,输出 “id” 值并返回 “OK” 字符串。

重启服务测试,

不同的路径参数值(如 “1” 和 “10”)都能正确接收。

多个路径参数

在请求路径中使用斜杠分隔多个路径参数,如 “/pass/{id}/{name}”。

在方法中定义对应数量的形参(如 “id” 和 “name”)来接收路径变量,每个形参前面加上 “@PathVariable” 注解,将路径参数绑定给对应形参。

例如,在 Postman 传递两个路径参数 “1” 和 “Aily”,在 IDEA 中定义 “pathParam2” 方法,“@RequestMapping” 注解指定请求路径为 “/pass/{id}/{name}”,声明 “String” 类型的 “name” 形参,两个形参前分别加 “@PathVariable” 注解。输出 “id” 和 “name” 值。

重启服务测试,

不同的路径展开参数值(如 “1” 和 “Aily”,“10” 和 “Ming”)都能正确接收。

总结

这个小节(请求)主要讲解了 6 类请求参数的接收:

  • 简单参数:在方法中声明形参,保证请求参数名与方法形参变量名一致可自动接收成功,还会自动类型转换。若参数名不一致,可通过 “@RequestParam” 注解手动映射。
  • 实体参数:保证请求的参数名与实体对象的属性名一致,就会自动接收到参数并封装到实体对象当中。
  • 数组集合参数:在方法形参中定义一个数组,数组名和请求参数名保持一致,可直接封装多个数据到数组。集合则需在集合前面加上 “@RequestParam” 注解绑定关系。
  • 日期参数:将字符串类型的请求参数封装到日期类型中,需在方法形参前面加上 “@DateTimeFormat” 注解并指定日期参数传递的格式。
  • JSON 格式参数:通过 “@RequestBody” 注解将 JSON 格式的请求参数封装到一个实体对象当中。
  • 路径参数:在形参前面加上 “@PathVariable” 注解获取路径参数,并将其绑定给方法的形参。


END


学习自:黑马程序员——JavaWeb课程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值