如何在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 createUser(@Valid @RequestBody User user) {
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");
}
}

posted @ 2025-02-20 18:58  软工李文轩  阅读(94)  评论(0)    收藏  举报