如何在Spring Boot中实现数据校验
Spring Boot支持使用Bean Validation(JSR-303/JSR-380)进行数据校验。
步骤1:添加依赖
Spring Boot默认已经集成了Bean Validation,无需额外依赖。
步骤2:定义实体类并添加校验注解
java
复制
public class User {
@NotNull(message = "Name cannot be null")
@Size(min = 2, max = 50, message = "Name must be between 2 and 50 characters")
private String name;
@Min(value = 18, message = "Age must be at least 18")
private int age;
@Email(message = "Invalid email format")
private String email;
}
步骤3:在Controller中启用校验
使用@Valid或@Validated注解启用校验:
java
复制
@RestController
@RequestMapping("/users")
public class UserController {
@PostMapping
public ResponseEntity
return ResponseEntity.ok("User created successfully");
}
}
步骤4:自定义校验逻辑(可选)
如果需要自定义校验逻辑,可以实现ConstraintValidator接口:
java
复制
@Constraint(validatedBy = CustomConstraintValidator.class)
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface CustomConstraint {
String message() default "Invalid custom constraint";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
public class CustomConstraintValidator implements ConstraintValidator<CustomConstraint, String> {
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
return value != null && value.startsWith("custom");
}
}
浙公网安备 33010602011771号