温馨提示×

springboot中@Validated怎么使用

小亿
134
2024-01-19 16:08:06
栏目: 编程语言

在Spring Boot中,@Validated注解用于验证方法参数的有效性。它可以应用在Controller的请求处理方法或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) {
        // 处理请求
        return "ok";
    }
}

在上面的例子中,@RequestParam(“param1”) @NotNull表示param1参数不能为空,@RequestParam(“param2”) @Min(18)表示param2参数的最小值为18。

  1. 配置验证失败的处理器(可选):可以定义一个全局的处理器来处理验证失败的情况,比如返回错误信息给客户端。
@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注解来验证方法参数的有效性了。

0