在Spring Boot中,@Validated注解用于驗(yàn)證方法參數(shù)的有效性。它可以應(yīng)用在Controller的請(qǐng)求處理方法或Service層的方法上。
使用@Validated注解的步驟如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
@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。
@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ù)的有效性了。