spring-boot-starter-web
包里面有hibernate-validator
包,不需要引用hibernate validator依赖。
SpringBoot引入
<!--hibernate-validator验证-->
<dependency>
<groupId>org.hibernate.validator</groupId>
<version>6.1.5.Final</version>
</dependency>
1.工具类
package com.spring.utils;
import org.hibernate.validator.HibernateValidator;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import java.util.Set;
/**
* 校验
* HibernateValidator工具类
*/
public class HibernateValidatorUtil {
private static Validator validator = Validation.byProvider(HibernateValidator.class)
.configure()
.failFast(true)
.buildValidatorFactory().getValidator();
public static <T> boolean validator(T domain) {
Set<ConstraintViolation<T>> violationSet = validator.validate(domain);
if (violationSet.size() > 0) {
System.out.println(violationSet.iterator().next().getMessage() + ",校验失败");
return false;
}
return true;
}
}
2.测试
@RestController
public class TestCntroller {
@PassToken
@RequestMapping(value = "/demo", method = RequestMethod.GET)
public ValidatorBean demo3() {
ValidatorBean bean = new ValidatorBean();
bean.setName("hello");
// bean.setPhone("15919460849");
bean.setEmail("1315011569@qq.com");
boolean validator = HibernateValidatorUtil.validator(bean);
return validator ? bean : new ValidatorBean();
}
}