目录
路径参数介绍
定义
- 路径参数:通过请求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课程