在SpringMVC中,@PathVariable注解用于从URL中获取参数值,并将参数值传递给Controller中的方法。通过在方法参数中使用@PathVariable注解,并指定参数名,SpringMVC会自动从URL中提取对应的参数值并注入到方法中。
下面是一个简单的示例:
@RestController
@RequestMapping("/users")
public class UserController {
@GetMapping("/{userId}")
public User getUserById(@PathVariable("userId") Long userId) {
// 根据userId获取用户信息
User user = userService.getUserById(userId);
return user;
}
}
在上面的示例中,@PathVariable注解标注在方法参数userId上,表示从URL中获取名为userId的参数值,并将其注入到userId参数中。当访问/users/123时,SpringMVC会自动将123注入到getUserById方法的userId参数中。
需要注意的是,@PathVariable注解中可以不指定参数名,此时参数名与URL中的参数名一致,例如:
@GetMapping("/{userId}")
public User getUserById(@PathVariable Long userId) {
// 根据userId获取用户信息
User user = userService.getUserById(userId);
return user;
}
这样也可以实现相同的效果。