请求映射注解
SpringMVC通过注解将HTTP请求映射到控制器方法,支持路径、方法、参数等多维度匹配。
RequestMapping
通用请求映射注解,可标注在类和方法上。
类级别
Java
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/list")
public String list() {
return "userList";
}
// 完整路径:/user/list
}
方法级别
Java
@RequestMapping(
value = "/hello",
method = RequestMethod.GET,
params = "name"
)
public String hello() {
return "hello";
}
衍生注解
Spring提供HTTP方法专用的映射注解:
Java
@RestController
@RequestMapping("/api")
public class ApiController {
@GetMapping("/user/{id}")
public User getUser(@PathVariable Integer id) {
return userService.findById(id);
}
@PostMapping("/user")
public User createUser(@RequestBody User user) {
return userService.save(user);
}
@PutMapping("/user")
public User updateUser(@RequestBody User user) {
return userService.update(user);
}
@DeleteMapping("/user/{id}")
public void deleteUser(@PathVariable Integer id) {
userService.delete(id);
}
}
| 注解 | HTTP方法 |
|---|---|
| @GetMapping | GET |
| @PostMapping | POST |
| @PutMapping | PUT |
| @DeleteMapping | DELETE |
| @PatchMapping | PATCH |
常用属性
| 属性 | 说明 |
|---|---|
| value/path | 请求路径 |
| method | HTTP方法 |
| params | 请求参数条件 |
| headers | 请求头条件 |
| consumes | Content-Type限制 |
| produces | Accept限制 |
推荐使用衍生注解(@GetMapping等),代码更简洁清晰。
要点总结
- @RequestMapping:通用映射,可指定method等属性
- @GetMapping/@PostMapping等:专用注解,代码简洁
- 类注解+方法注解组成完整路径
- params、headers属性可实现更精确匹配
📝 发现内容有误?点击此处直接编辑