在Spring Boot中,@Validated注解用于验证方法参数的有效性。它可以应用在Controller的请求处理方法或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) {
// 处理请求
return "ok";
}
}
在上面的例子中,@RequestParam(“param1”) @NotNull表示param1参数不能为空,@RequestParam(“param2”) @Min(18)表示param2参数的最小值为18。
@ControllerAdvice
public class ValidationExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseBody
public ResponseEntity handleValidationExceptions(MethodArgumentNotValidException ex) {
// 处理验证失败的情况
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Validation error");
}
}
在上面的例子中,@ExceptionHandler(MethodArgumentNotValidException.class)表示当发生验证失败的情况时,调用handleValidationExceptions()方法来处理。
这样就可以在Spring Boot中使用@Validated注解来验证方法参数的有效性了。