Springboot CRUD常用注解:

写在控制器函数上的注解

写在控制器类上的注解

参数

1. 路径参数 @PathVariable:用于从URL路径中提取参数。

示例请求:GET /user/123,id的值为123。

java
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
@GetMapping("/user/{id}") public ResponseEntity<?> getUserById(@PathVariable Long id) { // 处理路径参数 return ResponseEntity.ok("用户ID: " + id); }

2. 获取请求头 @RequestHeader(“header-name”)

java
  • 01
  • 02
  • 03
  • 04
@GetMapping("/header") public ResponseEntity<?> getHeader(@RequestHeader("Authorization") String token) { return ResponseEntity.ok("Token"+token); }

@CookieValue:用于从HTTP请求的Cookie中提取值。

示例请求:GET /cookie,提取名为sessionId的Cookie。

java
  • 01
  • 02
  • 03
  • 04
  • 05
@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:设置默认值。
java
  • 01
  • 02
  • 03
  • 04
  • 05
@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,上传文件。
java
  • 01
  • 02
  • 03
  • 04
  • 05
@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。
java
  • 01
  • 02
  • 03
  • 04
  • 05
@PostMapping("/model") public ResponseEntity<?> handleModel(@ModelAttribute MyForm form) { // 处理表单数据绑定到对象 return ResponseEntity.ok("表单数据: " + form); }

7请求属性

  • @RequestAttribute:用于从请求属性中提取值。
    通常用于拦截器或过滤器设置的属性。
java
  • 01
  • 02
  • 03
  • 04
  • 05
@GetMapping("/attribute") public ResponseEntity<?> getAttribute(@RequestAttribute("userId") Long userId) { // 处理请求属性 return ResponseEntity.ok("用户ID: " + userId); }

验证属性