JAVA中通过Hibernate-Validation进行参数验证
生活随笔
收集整理的這篇文章主要介紹了
JAVA中通过Hibernate-Validation进行参数验证
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在開發(fā)JAVA服務(wù)器端代碼時,我們會遇到對外部傳來的參數(shù)合法性進行驗證,而hibernate-validator提供了一些常用的參數(shù)校驗注解,我們可以拿來使用。
1.maven中引入hibernate-validator對應(yīng)的jar:
2.在Model中定義要校驗的字段(即該字段不能為空,并且最大長度為14):**
import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import org.hibernate.validator.constraints.NotEmpty;public class PayRequestDto {/*** 支付完成時間**/@NotEmpty(message="支付完成時間不能空")@Size(max=14,message="支付完成時間長度不能超過{max}位")private String payTime;/*** 狀態(tài)**/@Pattern(regexp = "0[0123]", message = "狀態(tài)只能為00或01或02或03")private String status;public String getPayTime() {return payTime;}public void setPayTime(String payTime) {this.payTime = payTime;}public String getStatus() {return status;}public void setStatus(String status) {this.status = status;} }3.定義Validation工具類:
import java.util.Set;import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator;import org.hibernate.validator.HibernateValidator;public class ValidationUtils {/*** 使用hibernate的注解來進行驗證* */private static Validator validator = Validation.byProvider(HibernateValidator.class).configure().failFast(true).buildValidatorFactory().getValidator();/*** 功能描述: <br>* 〈注解驗證參數(shù)〉** @param obj* @see [相關(guān)類/方法](可選)* @since [產(chǎn)品/模塊版本](可選)*/public static <T> void validate(T obj) {Set<ConstraintViolation<T>> constraintViolations = validator.validate(obj);// 拋出檢驗異常if (constraintViolations.size() > 0) {throw new RuntimeException(String.format("參數(shù)校驗失敗:%s", constraintViolations.iterator().next().getMessage()));}} }4.在代碼中調(diào)用工具類進行參數(shù)校驗:
ValidationUtils.validate(requestDto);以下是對hibernate-validator中部分注解進行描述:
轉(zhuǎn)載于:https://www.cnblogs.com/alterem/p/11262426.html
總結(jié)
以上是生活随笔為你收集整理的JAVA中通过Hibernate-Validation进行参数验证的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上某些网站的时候要小心,不要以为 HTT
- 下一篇: @微信官方,给我微信旁边加个福字