第一步引入jar包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.4.3</version>
</dependency>
第二步:建立实体A
@Data
public class A {
@NotNull(message = "操作人ID不能为空")
private Long operateId;
@NotBlank(message = "必填参数不能为空")
private String params;
private String feature;
}
第三步:调用:
A a = new A();
ValidationResult validationResult = ValidateUtils.validateOne(a);
// 如果存在校验不通过项,则直接返回错误状态码及错误描述
if (validationResult.getHasErrors()) {
//返回错误信息,这个地方可以抛出错误信息
validationResult.getErrorMsg();
}
第四步骤:基础ValidateUtils 方法:
import org.springframework.util.CollectionUtils;
import javax.validation.*;
import javax.validation.groups.Default;
import java.util.*;
public class ValidateUtils {
public static <T> ValidationResult validateOne(T t) {
// 解析校验结果
Set<ConstraintViolation<T>> validateSet = validator.validate(t, Default.class);
ValidationResult validationResult = new ValidationResult();
if (CollectionUtils.isEmpty(validateSet)) {
return validationResult;
}
List<String> errorMsgList = validateAllToList(validateSet);
validationResult.setHasErrors(true);
validationResult.setErrorMsg(errorMsgList.get(0));
return validationResult;
}
}
基础类
@Data
public class ValidationResult {
/**
* 是否存在校验不通过项
*/
private Boolean hasErrors = false;
/**
* 错误信息
*/
private String errorMsg;
}