举个例子,对比使用@PathVariable的代码和不使用@PathVariable的代码
时间: 2023-10-14 11:26:38 浏览: 83
1. 使用@PathVariable的代码:
```
@RestController
@RequestMapping("/users")
public class UserController {
@GetMapping("/{userId}")
public User getUserById(@PathVariable Long userId) {
// 根据userId查询用户信息
User user = userService.getUserById(userId);
return user;
}
}
```
2. 不使用@PathVariable的代码:
```
@RestController
@RequestMapping("/users")
public class UserController {
@GetMapping("/")
public User getUserById(HttpServletRequest request) {
// 获取请求参数中的userId
Long userId = Long.parseLong(request.getParameter("userId"));
// 根据userId查询用户信息
User user = userService.getUserById(userId);
return user;
}
}
```
可以看出,使用@PathVariable可以直接将URL中的参数映射为方法的参数,代码更加简洁易懂。而不使用@PathVariable则需要手动从请求参数中获取参数值,代码相对繁琐。
阅读全文