最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot使用@Validated處理校驗的方法步驟

 更新時間:2024年08月13日 09:12:52   作者:你住過的屋檐  
@Validated?注解的主要目的是啟用和利用?Spring?的驗證框架,它可以用于類上也可以用于方法參數(shù)上,本文給大家介紹了SpringBoot使用@Validated優(yōu)雅的處理校驗的方法步驟,通過代碼示例介紹的非常詳細,需要的朋友可以參考下

前言

@Validated 注解的主要目的是啟用和利用 Spring 的驗證框架,它可以用于類上也可以用于方法參數(shù)上。用于類上時,表示該類中的所有方法參數(shù)都需要通過驗證框架進行驗證;用于方法參數(shù)上時,則僅表示該參數(shù)需要被驗證。選擇哪種方式取決于具體的業(yè)務需求和個人偏好。

步驟

1、引入依賴,這是 Spring 用來實現(xiàn)數(shù)據(jù)驗證的基礎(chǔ)庫

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

2、然后我們將注解@Validated放在類上開啟驗證功能,將注解@Valid放在參數(shù)實體上代表對實體進行校驗,例如

@RestController
@RequestMapping("/test")
@Validated
public class TestController {
    @PostMapping()
    public R test(@Valid @RequestBody TestDTO dto){
        return R.ok("響應成功");
    }
}

3、然后我們在請求體中隨時用如下 注解即可通過框架自動進行驗證,我這里是使用統(tǒng)一異常捕捉進行全局異常情況攔截,有關(guān)統(tǒng)一異常封裝,大家可以關(guān)注我看我另一篇文章。

統(tǒng)一的參數(shù)異常捕捉

/**
	 *處理參數(shù)校驗異常
	 * @param e
	 * @return
	 */
	@ExceptionHandler
	public R handlerException(MethodArgumentNotValidException e) {
		e.printStackTrace();
		BindingResult bindingResult = e.getBindingResult();
		return R.fail(bindingResult.getFieldErrors().get(0).getDefaultMessage());
	}

參數(shù)實體

import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
@Data
public class TestDTO {
    @NotBlank(message = "a參數(shù)不能為空")
    private String a;
    @NotNull(message = "b參數(shù)不能為null")
    private String b;
    @Max(value = 10,message = "請輸入正確的范圍")
    private Integer c;
}

4、通過apifox工具調(diào)用測試結(jié)果如下

5、以下是常用的注解說明

注解類型說明
@NullObject校驗必須為null
@NotNullObject校驗必須不能是null,并且必須有一個非空格字符
@NotEmpty字符串、集合、映射等類型值不為空(即不為 null 且不為空字符串、空集合或空映射)。
@AssertTrueboolean、Boolean參數(shù)需要為true,傳null允許通過,注意,當傳了0時會認為是false不通過
@AssertFalseboolean、Boolean參數(shù)需要為true,傳null允許通過,注意,當傳了0時會認為是false允許通過
@MaxBigDecimal、BigInteger,基本數(shù)字類型及其包裝類等允許的最大值,null允許通過
@MinBigDecimal、BigInteger,基本數(shù)字類型及其包裝類等允許的最小值,null允許通過
@NegativeBigDecimal、BigInteger,基本數(shù)字類型及其包裝類等數(shù)字類型的值必須小于零,null允許通過
@NegativeBigDecimal、BigInteger,基本數(shù)字類型及其包裝類等數(shù)字類型的值必須小于等于零,null允許通過
@PositiveBigDecimal、BigInteger,基本數(shù)字類型及其包裝類等數(shù)字類型的值必須大于零,null允許通過
@PositiveOrZeroBigDecimal、BigInteger,基本數(shù)字類型及其包裝類等數(shù)字類型的值必須大于等于零,null允許通過
@Digits(integer = 10, fraction = 2)字符串、BigDecimal、BigInteger,基本數(shù)字類型及其包裝類等整數(shù)位數(shù)和小數(shù)位數(shù)限制,null允許通過
@Pattern字符串正則表達式匹配,null允許通過
@Email字符串字符串郵箱格式校驗,null允許通過
@Size字符串、集合、映射等類校驗大小的范圍,null允許通過,如 @Size(min = 1, max = 3, message = “最大范圍為1-3”)

到此這篇關(guān)于SpringBoot使用@Validated處理校驗的方法步驟的文章就介紹到這了,更多相關(guān)SpringBoot @Validated處理校驗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java如何設(shè)置系統(tǒng)參數(shù)和運行參數(shù)

    Java如何設(shè)置系統(tǒng)參數(shù)和運行參數(shù)

    這篇文章主要介紹了Java如何設(shè)置系統(tǒng)參數(shù)和運行參數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 基于SpringBoot實現(xiàn)定時發(fā)送郵件過程解析

    基于SpringBoot實現(xiàn)定時發(fā)送郵件過程解析

    這篇文章主要介紹了基于SpringBoot實現(xiàn)定時發(fā)送郵件過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • SpringBoot如何使用MyBatis-Plus實現(xiàn)高效的數(shù)據(jù)訪問層

    SpringBoot如何使用MyBatis-Plus實現(xiàn)高效的數(shù)據(jù)訪問層

    在開發(fā) Spring Boot 應用時,數(shù)據(jù)訪問是不可或缺的部分,本文將詳細介紹如何在 Spring Boot 中使用 MyBatis-Plus,并結(jié)合具體代碼示例來講解它的使用方法和常見配置,希望對大家有一定的幫助
    2025-04-04
  • 淺談JAVA在項目中如何自定義異常

    淺談JAVA在項目中如何自定義異常

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著JAVA在項目中如何自定義異常展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • spring 如何解決循環(huán)依賴

    spring 如何解決循環(huán)依賴

    這篇文章主要介紹了spring 如何解決循環(huán)依賴,幫助大家更好的理解和學習使用spring框架,感興趣的朋友可以了解下
    2021-02-02
  • Java讀取properties配置文件的8種方式匯總

    Java讀取properties配置文件的8種方式匯總

    讀取.properties配置文件在實際的開發(fā)中使用的很多,總結(jié)了一下,下面這篇文章主要給大家介紹了關(guān)于Java讀取properties配置文件的8種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • Java如何基于command調(diào)用openssl生成私鑰證書

    Java如何基于command調(diào)用openssl生成私鑰證書

    這篇文章主要介紹了Java如何基于command調(diào)用openssl生成私鑰證書,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Java實現(xiàn)撲克牌程序

    Java實現(xiàn)撲克牌程序

    這篇文章主要為大家詳細介紹了Java實現(xiàn)撲克牌程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Java?jdk升級版本注意事項經(jīng)驗分享

    Java?jdk升級版本注意事項經(jīng)驗分享

    這篇文章主要介紹了Java?jdk升級版本注意事項的相關(guān)資料,涉及兼容性風險、JVM與GC機制變更、運維與環(huán)境配置風險等多方面內(nèi)容,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-02-02
  • [Java]詳解Socket和ServerSocket學習筆記

    [Java]詳解Socket和ServerSocket學習筆記

    即時類應用或者即時類的游戲,HTTP協(xié)議很多時候無法滿足于我們的需求,這會,Socket對于我們來說就非常實用了。本篇文章主要介紹了Socket和ServerSocket,有興趣的可以了解一下。
    2016-12-12

最新評論

商城县| 西丰县| 京山县| 萍乡市| 青海省| 两当县| 星座| 宁武县| 辽源市| 元江| 蓬安县| 萍乡市| 峨边| 丹棱县| 赤壁市| 固安县| 姚安县| 孟津县| 枣强县| 平果县| 阜平县| 永顺县| 略阳县| 西充县| 宜兰市| 界首市| 蓬安县| 呼图壁县| 沙坪坝区| 濉溪县| 前郭尔| 津南区| 叶城县| 祥云县| 尉氏县| 南通市| 修水县| 南靖县| 当涂县| 酉阳| 宜都市|