Spring Boot 中的 @PathVariable:获取 RESTful 路径参数

简介: 在Spring Boot中,`@PathVariable`用于提取RESTful API URL中的动态参数。支持单个或多个路径变量,参数名一致时可省略value属性,不一致时需显式绑定,是构建清晰、语义化接口的关键注解之一。

在 RESTful 风格的 API 设计中,参数常直接嵌入 URL 路径中,例如:

/user/123/order/456/status

Spring Boot 通过 @PathVariable 注解,轻松提取这些路径中的动态值。


基本用法

路径变量名与方法参数名一致时,可直接使用:

@GetMapping("/user/{id}")
public String getUser(@PathVariable Integer id) {
    System.out.println("ID: " + id);
    return "success";
}

访问 /user/100id = 100


参数名不一致?用 value 指定绑定关系

若路径占位符名称与方法参数不同,需显式指定:

@GetMapping("/user/{userId}")
public String getUser(@PathVariable("userId") Integer id) {
    System.out.println("ID: " + id);
    return "success";
}

支持多个路径参数

URL 中可包含多个占位符,按名称一一对应:

@GetMapping("/user/{id}/{name}")
public String getUser(
    @PathVariable("id") Integer userId,
    @PathVariable String name
) {
    System.out.println("ID: " + userId + ", Name: " + name);
    return "success";
}

访问 /user/2/zhangsan → 输出:

ID: 2, Name: zhangsan

💡 注意:只要参数数量和占位符匹配,位置可以任意,如 /api/{version}/user/{id}


小结

  • @PathVariable 用于提取 URL 路径中的动态参数;
  • 参数名一致时可省略 value
  • 名称不一致时,用 @PathVariable("xxx") 显式绑定;
  • 支持多个参数,灵活适配复杂 RESTful 路由。

这是构建语义化、清晰 API 的关键注解之一。


相关文章
|
3月前
|
Java Spring
Spring Boot 中的 @RequestParam:获取查询参数与表单数据
`@RequestParam` 用于提取 HTTP 请求中的查询参数或表单数据,支持设置参数名、是否必填及默认值。适用于 `?key=value` 形式或 POST 表单,字段多时推荐封装为实体类自动绑定,与 `@PathVariable` 按路径取值不同,用途明确,是处理 Web 请求的常用方式。
|
Web App开发 编解码 监控
【开源视频联动物联网平台】推流,拉流,转发,转码?
【开源视频联动物联网平台】推流,拉流,转发,转码?
1477 2
|
Web App开发 应用服务中间件 Go
尝鲜:如何搭建一个简单的webrtc服务器
前几天我一朋友问我有关webrtc的事,简单了解了下相关知识,搭建了一个webrtc的服务,以及经历的各种踩坑事件,感觉踩坑主要是Python、Node、OpenSSL等版本问题和证书问题导致。本来以为很简单的搭建,但在搭建的过程中遇到各种阻碍,写一篇文章梳理一下。
13818 0
|
SQL 关系型数据库 MySQL
MySQL 用gourp by分组后取某一字段最大值
MySQL 用gourp by分组后取某一字段最大值
363 0
|
3月前
|
JSON Java 数据格式
Spring Boot中的全局异常处理
本文介绍了Spring Boot项目中如何实现全局异常处理。通过@ControllerAdvice和@ExceptionHandler统一捕获系统异常与自定义业务异常,结合统一JSON返回结构,避免代码耦合,提升可维护性。同时利用枚举管理异常码,实现异常信息的集中管理和友好提示,适用于前后端分离及微服务架构,保障接口返回一致性,降低维护成本。
|
3月前
|
NoSQL Shell Linux
Windows 系统下的 MongoDB 单机部署
本文详细介绍 MongoDB 在 Windows 和 Linux 系统中的单机部署方法,涵盖下载安装、目录配置、服务启停、Shell 与 Compass 连接等步骤,助你快速搭建开发与生产环境。
|
12月前
|
前端开发 Java 微服务
微服务——SpringBoot使用归纳——Spring Boot中的MVC支持——@PathVariable
`@PathVariable` 是 Spring Boot 中用于从 URL 中提取参数的注解,支持 RESTful 风格接口开发。例如,通过 `@GetMapping("/user/{id}")` 可以将 URL 中的 `{id}` 参数自动映射到方法参数中。若参数名不一致,可通过 `@PathVariable("自定义名")` 指定绑定关系。此外,还支持多参数占位符,如 `/user/{id}/{name}`,分别映射到方法中的多个参数。运行项目后,访问指定 URL 即可验证参数是否正确接收。
765 0
|
3月前
|
JSON 前端开发 Java
Spring Boot 返回 JSON 数据及数据封装
本课讲解Spring Boot中JSON处理:通过@RestController返回JSON,利用内置Jackson实现对象、List、Map自动序列化,并自定义配置优雅处理null值,提升前后端交互体验。
|
3月前
|
自然语言处理 关系型数据库 MySQL
MySQL 全文索引
MySQL全文索引支持对CHAR、VARCHAR、TEXT字段进行高效文本搜索,适用于文章、评论等长文本。通过MATCH()与AGAINST()实现自然语言或布尔模式查询,支持分词、停用词过滤和最小词长设置。可创建于建表时或后期添加,适用于搜索引擎、CMS、电商等场景,提升关键词检索效率,但需权衡增删改开销与索引维护成本。(238字)

热门文章

最新文章