SpringBoot如何優(yōu)雅的處理校驗參數(shù)的方法-創(chuàng)新互聯(lián)

前言

洪湖網站建設公司創(chuàng)新互聯(lián)公司,洪湖網站設計制作,有大型網站制作公司豐富經驗。已為洪湖上千多家提供企業(yè)網站建設服務。企業(yè)網站搭建\外貿網站建設要多少錢,請找那個售后服務好的洪湖做網站的公司定做!

做web開發(fā)有一點很煩人就是要校驗參數(shù),基本上每個接口都要對參數(shù)進行校驗,比如一些格式校驗 非空校驗都是必不可少的。如果參數(shù)比較少的話還是容易 處理的一但參數(shù)比較多了的話代碼中就會出現(xiàn)大量的IF ELSE就比如下面這樣:

SpringBoot如何優(yōu)雅的處理校驗參數(shù)的方法

這個例子只是校驗了一下空參數(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中,所以無需在添加其他依賴。

SpringBoot如何優(yōu)雅的處理校驗參數(shù)的方法

注解介紹

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

注解

詳細信息

@Email

被注釋的元素必須是電子郵箱地址

@Length

被注釋的字符串的大小必須在指定的范圍內

@NotEmpty

被注釋的字符串的必須非空

@Range

被注釋的元素必須在合適的范圍內

@NotBlank

驗證字符串非null,且長度必須大于0

注意:

  • @NotNull 適用于任何類型被注解的元素必須不能與NULL
  • @NotEmpty 適用于String Map或者數(shù)組不能為Null且長度必須大于0
  • @NotBlank 只能用于String上面 不能為null,調用trim()后,長度必須大于0

使用

使用起來也非常簡單,下面略過創(chuàng)建項目

模擬用戶注冊封裝了一個UserDTO

當提交數(shù)據的時候如果使用以前的做法就是IF ELSE判斷參數(shù)使用validator則是需要增加注解即可。

例如非空校驗:

SpringBoot如何優(yōu)雅的處理校驗參數(shù)的方法

然后需要在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)

綿陽服務器托管