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);
}

@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);
}

验证属性