@GetMapping
是 的简写。@RequestMapping(method = RequestMethod.GET)
在你的情况下。 是 的简写。@GetMapping(path = "/usr/{userId}")
@RequestMapping(value = "/usr/{userId}", method = RequestMethod.GET)
两者是等效的。更喜欢使用速记而不是更详细的替代方法。您可以做的一件事是无法做到的,那就是提供多种请求方法。@GetMapping
@RequestMapping
@GetMapping
@RequestMapping(value = "/path", method = {RequestMethod.GET, RequestMethod.POST, RequestMethod.PUT)
public void handleRequet() {
}
在需要提供多个 Http 谓词时使用。@RequestMapping
的另一种用法是当您需要为控制器提供顶级路径时。例如:@RequestMapping
@RestController
@RequestMapping("/users")
public class UserController {
@PostMapping
public void createUser(Request request) {
// POST /users
// create a user
}
@GetMapping
public Users getUsers(Request request) {
// GET /users
// get users
}
@GetMapping("/{id}")
public Users getUserById(@PathVariable long id) {
// GET /users/1
// get user by id
}
}