Springboot CRUD常用注解:
写在控制器函数上的注解
写在控制器类上的注解
参数
1. 路径参数 @PathVariable:用于从URL路径中提取参数。
示例请求:GET /user/123,id的值为123。
@GetMapping("/user/{id}")
public ResponseEntity<?> getUserById(@PathVariable Long id) {
// 处理路径参数
return ResponseEntity.ok("用户ID: " + id);
}
2. 获取请求头 @RequestHeader(“header-name”)
@GetMapping("/header")
public ResponseEntity<?> getHeader(@RequestHeader("Authorization") String token) {
return ResponseEntity.ok("Token"+token);
}
3. Cookie @CookieValue(“sessionID”)
@CookieValue:用于从HTTP请求的Cookie中提取值。
示例请求:GET /cookie,提取名为sessionId的Cookie。
@GetMapping("/cookie")
public ResponseEntity<?> getCookie(@CookieValue("sessionId") String sessionId) {
// 处理Cookie
return ResponseEntity.ok("Session ID: " + sessionId);
}
4. 请求参数 @RequestParam(required = false,defaultValue = “default”)
- @RequestParam:用于从查询参数中提取值。
- required = false:表示参数是可选的。
- defaultValue:设置默认值。
@GetMapping("/search")
public ResponseEntity<?> search(@RequestParam(required = false, defaultValue = "default") String keyword) {
// 处理可选参数
return ResponseEntity.ok("搜索关键词: " + keyword);
}
5.文件上传 @RequestParam(“file”) MultipartFile file
- @RequestParam + MultipartFile:用于处理文件上传。
示例请求:POST /upload,上传文件。
@PostMapping("/upload")
public ResponseEntity<?> uploadFile(@RequestParam("file") MultipartFile file) {
// 处理文件上传
return ResponseEntity.ok("文件上传成功: " + file.getOriginalFilename());
}
6. 模型绑定 @ModelAttribute:用于将表单数据绑定到Java对象。
- @ModelAttribute:用于将表单数据绑定到Java对象。
适用于application/x-www-form-urlencoded或multipart/form-data。
@PostMapping("/model")
public ResponseEntity<?> handleModel(@ModelAttribute MyForm form) {
// 处理表单数据绑定到对象
return ResponseEntity.ok("表单数据: " + form);
}
7请求属性
- @RequestAttribute:用于从请求属性中提取值。
通常用于拦截器或过滤器设置的属性。
@GetMapping("/attribute")
public ResponseEntity<?> getAttribute(@RequestAttribute("userId") Long userId) {
// 处理请求属性
return ResponseEntity.ok("用户ID: " + userId);
}