欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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ù)驗證的基礎庫

<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)一異常捕捉進行全局異常情況攔截,有關統(tǒng)一異常封裝,大家可以關注我看我另一篇文章。

統(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工具調用測試結果如下

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”)

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

相關文章

  • 解決mybatis plus字段為null或空字符串無法保存到數(shù)據(jù)庫的問題

    解決mybatis plus字段為null或空字符串無法保存到數(shù)據(jù)庫的問題

    這篇文章主要介紹了解決mybatis plus字段為null或空字符串無法保存到數(shù)據(jù)庫的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • IntelliJ?IDEA?2020.2.3永久破解激活教程(親測有效)

    IntelliJ?IDEA?2020.2.3永久破解激活教程(親測有效)

    intellij?idea?2022是一款市面上最好的JAVA?IDE編程工具,該工具支持git、svn、github等版本控制工具,整合了智能代碼助手、代碼自動提示等功能,本教程給大家分享IDEA?2022最新永久激活碼,感興趣的朋友參考下吧
    2020-10-10
  • 一文搞懂Java SPI機制的原理與使用

    一文搞懂Java SPI機制的原理與使用

    Java 程序員在日常工作中經(jīng)常會聽到 SPI,而且很多框架都使用了 SPI 的技術,那么問題來了,到底什么是 SPI 呢?今天小編就帶大家好好了解一下 SPI
    2022-10-10
  • springboot jasypt2.x與jasypt3.x的使用方式

    springboot jasypt2.x與jasypt3.x的使用方式

    在軟件開發(fā)中,將配置文件中的敏感信息(如數(shù)據(jù)庫密碼)進行加密是保障安全的有效手段,jasypt框架提供了這一功能,支持通過加密工具類或命令行工具生成密文,并通過修改配置文件和啟動參數(shù)的方式使用密文和密鑰,這樣即便配置文件被泄露
    2024-09-09
  • spring中@value注解需要注意的問題

    spring中@value注解需要注意的問題

    本篇文章主要介紹了spring中@value注解需要注意的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 詳解Lombok的坑

    詳解Lombok的坑

    這篇文章主要介紹了詳解Lombok的坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Java十分鐘精通異常處理機制

    Java十分鐘精通異常處理機制

    異常就是不正常,比如當我們身體出現(xiàn)了異常我們會根據(jù)身體情況選擇喝開水、吃藥、看病、等?異常處理方法。?java異常處理機制是我們java語言使用異常處理機制為程序提供了錯誤處理的能力,程序出現(xiàn)的錯誤,程序可以安全的退出,以保證程序正常的運行等
    2022-03-03
  • 如何解決SpringBoot 加入AOP后無法注入的問題

    如何解決SpringBoot 加入AOP后無法注入的問題

    這篇文章主要介紹了如何解決SpringBoot 加入AOP后無法注入的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • HttpClient 請求 URL字符集轉碼問題

    HttpClient 請求 URL字符集轉碼問題

    這篇文章主要介紹了HttpClient 請求 URL字符集轉碼問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • 詳解在spring boot中配置多個DispatcherServlet

    詳解在spring boot中配置多個DispatcherServlet

    本篇文章主要介紹了詳解在spring boot中配置多個DispatcherServlet,具有一定的參考價值,有興趣的可以了解一下。
    2017-03-03

最新評論