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

SpringBoot使用@Validated處理校驗(yàn)的方法步驟

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

前言

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

步驟

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

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

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

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

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

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

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

參數(shù)實(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校驗(yàn)必須為null
@NotNullObject校驗(yàn)必須不能是null,并且必須有一個(gè)非空格字符
@NotEmpty字符串、集合、映射等類型值不為空(即不為 null 且不為空字符串、空集合或空映射)。
@AssertTrueboolean、Boolean參數(shù)需要為true,傳null允許通過,注意,當(dāng)傳了0時(shí)會(huì)認(rèn)為是false不通過
@AssertFalseboolean、Boolean參數(shù)需要為true,傳null允許通過,注意,當(dāng)傳了0時(shí)會(huì)認(rèn)為是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字符串正則表達(dá)式匹配,null允許通過
@Email字符串字符串郵箱格式校驗(yàn),null允許通過
@Size字符串、集合、映射等類校驗(yàn)大小的范圍,null允許通過,如 @Size(min = 1, max = 3, message = “最大范圍為1-3”)

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

相關(guān)文章

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

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

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

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

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

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

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

    淺談JAVA在項(xiàng)目中如何自定義異常

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

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

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

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

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

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

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

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

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

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

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

    [Java]詳解Socket和ServerSocket學(xué)習(xí)筆記

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

最新評論

阜康市| 巫溪县| 永登县| 上思县| 吉林省| 微山县| 资中县| 城口县| 和平县| 桂林市| 大邑县| 万州区| 马山县| 当涂县| 建昌县| 若羌县| 麻江县| 衡南县| 南京市| 和田市| 炎陵县| 濉溪县| 富蕴县| 内乡县| 桦甸市| 阿坝县| 兰西县| 黎平县| 大连市| 北碚区| 大城县| 马山县| 收藏| 永兴县| 曲周县| 正阳县| 通州区| 泰和县| 揭阳市| 华宁县| 平凉市|