:将一个类标识为一个RESTful风格的控制器,用于处理HTTP请求和响应。
:用于将一个HTTP请求映射到控制器的处理方法上,可以用于类级别和方法级别。
:用于将HTTP POST请求映射到控制器的处理方法上。
:用于将HTTP GET请求映射到控制器的处理方法上。
:用于指示请求的参数将作为请求的主体部分,并将其反序列化为Java对象。
:用于将HTTP请求参数绑定到方法的参数上。
:用于将URI路径中的变量绑定到方法的参数上。
这些注解的使用情景、使用方法和关系如下:
@RestController
@RequestMapping("/api")
public class UserController { ... }
@RequestMapping(value = "/users/{id}", method = RequestMethod.GET)
public User getUserById(@PathVariable int id) { ... }
@PostMapping("/users")
public void createUser(@RequestBody User user) { ... }
@GetMapping("/users/{id}")
public User getUserById(@PathVariable int id) { ... }
@PostMapping("/users")
public void createUser(@RequestBody User user) { ... }
@GetMapping("/users")
public List<User> getUsersByRole(@RequestParam("role") String role) { ... }
@GetMapping("/users/{id}")
public User getUserById(@PathVariable int id) { ... }
这些注解之间的关系是: