工具类 主动进行validate校验

精选30+云产品,助力企业轻松上云!>>> hot3.png

该工具类可以主动进行javax.validation校验

import org.apache.commons.collections.CollectionUtils;

import javax.validation.ConstraintViolation;
import javax.validation.Valid;
import javax.validation.Validation;

import java.util.Set;

/**
 * validate校验工具类
 *
 * @author g30003063
 * @since 2020-05-20
 */
public final class ValidateUtils {
    private ValidateUtils() {
    }

    /**
     * validate主动校验方式
     *
     * @param validateObject 进行校验的对象
     * @param  传递的校验类型
     * @throws ServiceException 服务异常
     */
    public static  void validate(@Valid T validateObject) throws ServiceException {
        Set> validateSet = Validation
            .buildDefaultValidatorFactory()
            .getValidator()
            .validate(validateObject);
        if (CollectionUtils.isNotEmpty(validateSet)) {
            String messages = validateSet.stream()
                .map(ConstraintViolation::getMessage)
                .reduce((m1, m2) -> m1 + ";" + m2)
                .orElse("parameter error!" + validateObject);
            throw new RuntimeException(messages);
        }
    }
}

你可能感兴趣的:(工具类 主动进行validate校验)