@RequestMapping是Spring MVC中的注解,用于将HTTP请求映射到Java方法上。它可以应用在类级别或方法级别,并具有许多可配置的属性来定义请求的映射规则。
- 基本用法:
- 在类级别上使用
@RequestMapping注解时,可以为该类中的所有处理方法指定共享的路径前缀。@RestController @RequestMapping("/api") public class MyController { // ... } - 在方法级别上使用
@RequestMapping注解时,可以指定具体的请求路径和HTTP方法。@GetMapping("/users") public List<User> getUsers() { // ... }
- 请求路径匹配:
value或path:指定请求的URL路径,支持Ant风格的通配符路径模式。@RequestMapping(value = "/users", method = RequestMethod.GET) public List<User> getUsers() { // ... }method:指定处理请求的HTTP方法。@RequestMapping(value = "/users", method = RequestMethod.POST) public void createUser(@RequestBody User user) { // ... }params:指定请求参数的条件限制。@RequestMapping(value = "/users", params = "role=admin") public List<User> getAdminUsers() { // ... }headers:指定请求头的条件限制。@RequestMapping(value = "/users", headers = "Authorization") public void getUserWithAuthorization() { // ... }
- 映射到不同的HTTP方法:
@GetMapping:GET请求@PostMapping:POST请求@PutMapping:PUT请求@DeleteMapping:DELETE请求@PatchMapping:PATCH请求
- 多个注解组合使用: 可以将多个注解组合使用以更精确地定义请求映射规则。
@GetMapping("/users") @ResponseBody public List<User>
getUsers() { // ... }
- 动态路径变量: 使用
{}包围的路径部分可以作为路径变量,将请求中匹配的部分传递给方法参数。
@GetMapping("/users/{id}") public User getUserById(@PathVariable Long id)
{ // ... }
- 请求内容类型和响应内容类型:
consumes:指定处理请求的Content-Type。produces:指定方法返回的响应内容类型(MIME类型)。
@RequestMapping(value = "/users", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody public ServiceResult createUser(@RequestBody User user) { // ... } @RequestMapping(value = "/users", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody public List<User> getUsers() { // ... }
这些是@RequestMapping注解的一些常用属性和用法。通过合理配置@RequestMapping注解,您可以根据实际需求来定义请求的映射规则,并将请求路由到对应的处理方法进行处理。
@RequestMapping是SpringMVC中用于映射HTTP请求到Java方法的注解,可以在类或方法级别使用。它支持配置如value/path(请求路径)、method(HTTP方法)、params(请求参数条件)、headers(请求头条件)等属性,以及GET、POST、PUT、DELETE等请求方法映射。同时,注解还能处理动态路径变量,并指定consumes(请求内容类型)和produces(响应内容类型)。通过这些配置,可以精细控制请求路由和处理。
1223

被折叠的 条评论
为什么被折叠?



