Spring Boot 數據驗證簡介

簡述

在軟件開發過程中,經常遇到驗證屬性的合法性.在未使用標籤驗證的情況下,會使用大量的if語句校驗數據的合法性.如

if (StringUtils.isEmpty(user.getUserName())) {
    throw new RuntimeException("參數異常");
}
if (StringUtils.isEmpty(user.getEmail())) {
    throw new RuntimeException("參數異常");
}
if (!StringUtil.isValid(user.getEmail())) {
    throw new RuntimeException("非法的郵件地址");
}
if (user.getAge() < 18 && user.getAge() > 100) {
    throw new RuntimeException("非法年齡");
}
if (!"enable".equals(user.getUserStatus())&&!"disable".equals(user.getUserStatus())){
    throw new RuntimeException("user_status 值範圍是 enable,disable");
}

這種代碼不僅是比較羅嗦,同時不利於擴展,每次判斷邏輯中都會添加大量的判斷代碼,可讀性比較低下.
爲了解決類似問題,Bean Validation就出現了.
Bean Validation 爲 JavaBean 驗證定義了相應的元數據模型和 API.缺省的元數據是 Java Annotations,通過使用 XML 可以對原有的元數據信息進行覆蓋和擴展.在程序中,通過使用 Bean Validation 或是自己定義的 constraint,例如 @NotNull, @Max, @Flag, 就可以確保數據模型(JavaBean)的合法性.
Bean Validation 是一個運行時的數據驗

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章