提交 d447d298 作者: 方治民

feat: 添加 ValidateUtil

上级 4651726d
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-aop'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation'
// hutool
implementation "cn.hutool:hutool-core:${hutoolVersion}"
......
/* (C) 2022 YiRing, Inc. */
package com.yiring.common.util;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import javax.validation.Validation;
import javax.validation.ValidatorFactory;
import lombok.Cleanup;
import lombok.experimental.UtilityClass;
/**
* 校验工具类
*
* @author Jim
* @version 0.1
* 2022/10/24 17:11
*/
@SuppressWarnings("unused")
@UtilityClass
public class ValidateUtil {
/**
* 对象校验
*
* @param t 目标对象
* @param groups 分组
* @param <T> 目标类
* @throws ConstraintViolationException 校验异常(结合全局异常拦截,快速失败模式)
*/
public static <T> void validate(T t, Class<?>... groups) {
@Cleanup
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Set<ConstraintViolation<T>> constraintViolations = factory.getValidator().validate(t, groups);
if (constraintViolations.size() > 0) {
throw new ConstraintViolationException(constraintViolations);
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论