java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Spring Boot路径变量

Spring Boot中的路径变量示例详解

作者:罗1213

SpringBoot中PathVariable通过@PathVariable注解实现URL参数与方法参数绑定,支持多参数接收、类型转换、可选参数、默认值及正则约束,是构建RESTful API的核心工具,本文给大家介绍Spring Boot中的路径变量示例,感兴趣的朋友一起看看吧

在Spring Boot中,路径变量(Path Variable)通过 @PathVariable 注解实现URL参数与方法参数的绑定,是构建RESTful API的核心工具。

一. 基本用法与参数映射

1.路径定义

在URL路径中用 {} 包裹变量名,例如:

@GetMapping("/users/{userId}")

2.参数绑定

@GetMapping("/users/{userId}")
public User getUser(@PathVariable Long userId) {
    // 业务逻辑
}
@GetMapping("/users/{userId}")
public User getUserById(@PathVariable("userId") Long id) {
    // 业务逻辑
}

 二.多参数接收

在方法中多次使用 @PathVariable 接收多个参数,例如:

@GetMapping("/users/{userId}/orders/{orderId}")
public Order getOrder(
    @PathVariable Long userId,
    @PathVariable Long orderId) {
    // 业务逻辑
}

三、类型转换

四. 可选参数与默认值

 1.非必填参数

通过 @PathVariable(required = false) 设置参数为可选,未传值时参数值为 null ,例如:

@GetMapping("/users/{id}/info")
public UserInfo getUserInfo(
    @PathVariable("id") Long id,
    @PathVariable(required = false) String type) {
    // 业务逻辑
}

 2.默认值设置

使用 @PathVariable(defaultValue = "默认值") 指定默认值,当未传值时使用该默认值,例如:

@GetMapping("/page/{pageNum}")
public List<User> getUsers(
    @PathVariable(defaultValue = "1") int pageNum) {
    // 业务逻辑
}

五. 正则表达式约束

通过 {变量名:正则表达式} 限制参数格式,例如:

@GetMapping("/images/{name:\\d{4}-\\d{2}-\\d{2}\\.jpg}") 
// 匹配YYYY-MM-DD.jpg格式
public Image getImage(@PathVariable String name) {
    // 业务逻辑
}

 六、总结

路径变量是 Spring Boot 中构建 RESTful API 的重要工具,通过 @PathVariable 注解实现 URL 参数与方法参数的绑定。它支持多种功能,包括:​单个和多个路径变量的接收。​自动类型转换和异常处理。​可选参数和默认值的设置。​正则表达式约束,用于限制参数格式

到此这篇关于Spring Boot中的路径变量的文章就介绍到这了,更多相关Spring Boot路径变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文