成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

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

前言

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

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

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

這個例子只是校驗了一下空參數(shù)。如果需要驗證郵箱格式和手機號格式校驗的話代碼會更多,所以介紹一下validator通過注解的方式進行校驗參數(shù)。

什么是Validator

Bean Validation是Java定義的一套基于注解的數(shù)據(jù)校驗規(guī)范,目前已經(jīng)從JSR 303的1.0版本升級到JSR 349的1.1版本,再到JSR 380的2.0版本(2.0完成于2017.08),已經(jīng)經(jīng)歷了三個版本 。在SpringBoot中已經(jīng)集成在 starter-web中,所以無需在添加其他依賴。

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

注解介紹

validator內(nèi)置注解

注解

詳細信息

@Null

被注釋的元素必須為 null

@NotNull

被注釋的元素必須不為 null

@AssertTrue

被注釋的元素必須為 true

@AssertFalse

被注釋的元素必須為 false

@Min(value)

被注釋的元素必須是一個數(shù)字,其值必須大于等于指定的最小值

@Max(value)

被注釋的元素必須是一個數(shù)字,其值必須小于等于指定的大值

@DecimalMin(value)

被注釋的元素必須是一個數(shù)字,其值必須大于等于指定的最小值

@DecimalMax(value)

被注釋的元素必須是一個數(shù)字,其值必須小于等于指定的大值

@Size(max, min)

被注釋的元素的大小必須在指定的范圍內(nèi)

@Digits (integer, fraction)

被注釋的元素必須是一個數(shù)字,其值必須在可接受的范圍內(nèi)

@Past

被注釋的元素必須是一個過去的日期

@Future

被注釋的元素必須是一個將來的日期

@Pattern(value)

被注釋的元素必須符合指定的正則表達式

Hibernate Validator 附加的 constraint

注解

詳細信息

@Email

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

@Length

被注釋的字符串的大小必須在指定的范圍內(nèi)

@NotEmpty

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

@Range

被注釋的元素必須在合適的范圍內(nèi)

@NotBlank

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

注意:

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

使用

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

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

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

例如非空校驗:

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

然后需要在controller方法體添加@Validated不加@Validated校驗會不起作用

然后請求一下請求接口,把Email參數(shù)設(shè)置為空

參數(shù):

{
  "userName":"luomengsun",
  "mobileNo":"11111111111",
  "sex":1,
  "age":21,
  "email":""
}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站jinyejixie.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前文章:SpringBoot如何優(yōu)雅的處理校驗參數(shù)的方法-創(chuàng)新互聯(lián)
鏈接分享:http://jinyejixie.com/article34/dssipe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、微信小程序、做網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管