前言
洪湖網站建設公司創(chuàng)新互聯(lián)公司,洪湖網站設計制作,有大型網站制作公司豐富經驗。已為洪湖上千多家提供企業(yè)網站建設服務。企業(yè)網站搭建\外貿網站建設要多少錢,請找那個售后服務好的洪湖做網站的公司定做!做web開發(fā)有一點很煩人就是要校驗參數(shù),基本上每個接口都要對參數(shù)進行校驗,比如一些格式校驗 非空校驗都是必不可少的。如果參數(shù)比較少的話還是容易 處理的一但參數(shù)比較多了的話代碼中就會出現(xiàn)大量的IF ELSE就比如下面這樣:
這個例子只是校驗了一下空參數(shù)。如果需要驗證郵箱格式和手機號格式校驗的話代碼會更多,所以介紹一下validator通過注解的方式進行校驗參數(shù)。
什么是Validator
Bean Validation是Java定義的一套基于注解的數(shù)據校驗規(guī)范,目前已經從JSR 303的1.0版本升級到JSR 349的1.1版本,再到JSR 380的2.0版本(2.0完成于2017.08),已經經歷了三個版本 。在SpringBoot中已經集成在 starter-web中,所以無需在添加其他依賴。
注解介紹
validator內置注解
注解
詳細信息
@Null
被注釋的元素必須為 null
@NotNull
被注釋的元素必須不為 null
@AssertTrue
被注釋的元素必須為 true
@AssertFalse
被注釋的元素必須為 false
@Min(value)
被注釋的元素必須是一個數(shù)字,其值必須大于等于指定的最小值
@Max(value)
被注釋的元素必須是一個數(shù)字,其值必須小于等于指定的大值
@DecimalMin(value)
被注釋的元素必須是一個數(shù)字,其值必須大于等于指定的最小值
@DecimalMax(value)
被注釋的元素必須是一個數(shù)字,其值必須小于等于指定的大值
@Size(max, min)
被注釋的元素的大小必須在指定的范圍內
@Digits (integer, fraction)
被注釋的元素必須是一個數(shù)字,其值必須在可接受的范圍內
@Past
被注釋的元素必須是一個過去的日期
@Future
被注釋的元素必須是一個將來的日期
@Pattern(value)
被注釋的元素必須符合指定的正則表達式
Hibernate Validator 附加的 constraint
注解
詳細信息
被注釋的元素必須是電子郵箱地址
@Length
被注釋的字符串的大小必須在指定的范圍內
@NotEmpty
被注釋的字符串的必須非空
@Range
被注釋的元素必須在合適的范圍內
@NotBlank
驗證字符串非null,且長度必須大于0
注意:
使用
使用起來也非常簡單,下面略過創(chuàng)建項目
模擬用戶注冊封裝了一個UserDTO
當提交數(shù)據的時候如果使用以前的做法就是IF ELSE判斷參數(shù)使用validator則是需要增加注解即可。
例如非空校驗:
然后需要在controller方法體添加@Validated不加@Validated校驗會不起作用
然后請求一下請求接口,把Email參數(shù)設置為空
參數(shù):
{ "userName":"luomengsun", "mobileNo":"11111111111", "sex":1, "age":21, "email":"" }
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站bm7419.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前文章:SpringBoot如何優(yōu)雅的處理校驗參數(shù)的方法-創(chuàng)新互聯(lián)
鏈接分享:http://bm7419.com/article34/dssipe.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化、微信小程序、做網站、外貿網站建設、營銷型網站建設、微信公眾號
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)