springboot中@Validated怎么使用

小億
134
2024-01-19 16:08:06

在Spring Boot中,@Validated注解用于驗(yàn)證方法參數(shù)的有效性。它可以應(yīng)用在Controller的請(qǐng)求處理方法或Service層的方法上。

使用@Validated注解的步驟如下:

  1. 引入依賴:在pom.xml文件中添加spring-boot-starter-validation依賴。
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>
  1. 在Controller或Service方法上添加@Validated注解。
@RestController
@Validated
public class MyController {
    @GetMapping("/validate")
    public String validate(@RequestParam("param1") @NotNull String param1, 
                           @RequestParam("param2") @Min(18) int param2) {
        // 處理請(qǐng)求
        return "ok";
    }
}

在上面的例子中,@RequestParam(“param1”) @NotNull表示param1參數(shù)不能為空,@RequestParam(“param2”) @Min(18)表示param2參數(shù)的最小值為18。

  1. 配置驗(yàn)證失敗的處理器(可選):可以定義一個(gè)全局的處理器來(lái)處理驗(yàn)證失敗的情況,比如返回錯(cuò)誤信息給客戶端。
@ControllerAdvice
public class ValidationExceptionHandler {
    @ExceptionHandler(MethodArgumentNotValidException.class)
    @ResponseBody
    public ResponseEntity handleValidationExceptions(MethodArgumentNotValidException ex) {
        // 處理驗(yàn)證失敗的情況
        return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Validation error");
    }
}

在上面的例子中,@ExceptionHandler(MethodArgumentNotValidException.class)表示當(dāng)發(fā)生驗(yàn)證失敗的情況時(shí),調(diào)用handleValidationExceptions()方法來(lái)處理。

這樣就可以在Spring Boot中使用@Validated注解來(lái)驗(yàn)證方法參數(shù)的有效性了。

0