作用:用于从URL路径中提取参数值,并将其绑定到方法的参数上。当客户端发送HTTP请求时,URL中可能包含一些占位符(PathVariable),这些占位符是用来传递参数的。使用 @PathVariable
注解可以将这些参数值提取出来,然后在方法中进行处理。
使用步骤:
-
在Controller的处理方法中,使用
@PathVariable
注解在方法的参数上声明占位符的名称,并指定要绑定的参数。 -
当客户端发送HTTP请求时,包含了对应的参数值,Spring框架会自动将这些参数值提取出来,并传递给处理方法的参数。
示例:假设有以下URL:/users/{id}
@Controller
public class UserController {
@GetMapping("/users/{id}")
public ResponseEntity<User> getUserById(@PathVariable Long id) {
// 在此处通过id参数查询数据库获取对应的User对象
// 然后返回User对象
User user = userRepository.getUserById(id);
if (user != null) {
return ResponseEntity.ok(user);
} else {
return ResponseEntity.notFound().build();
}
}
}
示例中,@PathVariable Long id
将从URL路径中提取id
参数,并将其绑定到getUserById
方法的id
参数上。此时,如果客户端发送请求 /users/123
,Spring会将123
提取出来,并作为id
参数传递给getUserById
方法。
注意:@PathVariable
注解的参数名要与URL中的占位符名称一致,才能正确地绑定参数值。如果名称不一致,可以通过 @PathVariable("customId")
的方式来显式指定占位符的名称。