国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot校驗(yàn),DTO文件中常用的注解應(yīng)用案例.

這篇具有很好參考價(jià)值的文章主要介紹了SpringBoot校驗(yàn),DTO文件中常用的注解應(yīng)用案例.。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

1、需要引入的Maven依賴

2、CompanyDTO 文件

3、對(duì) DTO文件中使用的校驗(yàn)注解說明

參考文章:


? ? ? ?在觀看本篇文章之前,可以先參考我之前寫的一篇文章 “?Spring5,Service層對(duì)DTO文件進(jìn)行數(shù)據(jù)格式校驗(yàn). ”? ,這篇文章是介紹在 Service層 對(duì)DTO文件的校驗(yàn)。 以下方的?CompanyDTO 文件為例,講解不同的注解使用場景,以及適用于那些數(shù)據(jù)類型。

1、需要引入的Maven依賴

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.20</version>
			<scope>compile</scope>
		</dependency>
		
		<dependency>
			<groupId>javax.validation</groupId>
			<artifactId>validation-api</artifactId>
			<version>2.0.1.Final</version>
		</dependency>

		<dependency>
			<groupId>org.hibernate.validator</groupId>
			<artifactId>hibernate-validator</artifactId>
			<version>6.2.5.Final</version>
		</dependency>


2、CompanyDTO 文件

package com.moon.learning.dto;

import com.moon.learning.validation.ValidGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

import javax.validation.constraints.*;
import java.io.Serializable;


/**
 * 用于校驗(yàn)的DTO文件.
 *
 * @author moon
 * @version 1.0
 * @date 2022/11/22 11:45
 */
@ApiModel(value = "公司", description = "參數(shù)")
@Data
@AllArgsConstructor
@Builder
public class CompanyDTO implements Serializable {

    @ApiModelProperty(value = "ID主鍵")
    @NotNull(message = "ID主鍵不能為空!", groups = {ValidGroup.Update.class})
    private Long id;

    @ApiModelProperty(value = "公司名稱")
    @NotBlank(message = "公司名稱不能為空!", groups = {ValidGroup.Insert.class, ValidGroup.Update.class})
    @Size(min = 1, max = 20, message = "公司名稱長度為 1-20 個(gè)字符", groups = {ValidGroup.Insert.class, ValidGroup.Update.class})
    private String companyName;

    @ApiModelProperty(value = "公司編號(hào)")
    @NotBlank(message = "公司編號(hào)不能為空!", groups = {ValidGroup.Insert.class, ValidGroup.Update.class})
    @Size(min = 1, max = 12, message = "公司編號(hào)長度為 1-12 個(gè)字符", groups = {ValidGroup.Insert.class, ValidGroup.Update.class})
    private String companyNo;

    /**
     * 在這里,納稅人識(shí)別號(hào)可以是:空字符串 或者 15位格式 或者 18位格式 或者 20位格式.
     */
    @ApiModelProperty(value = "納稅人識(shí)別號(hào)")
    @Pattern(regexp = "^$|^([0-9a-zA-Z]{15}|[0-9a-zA-Z]{18}|[0-9a-zA-Z]{20})$", message = "納稅人識(shí)別號(hào)格式不正確,請重新處理!", groups = {ValidGroup.Insert.class, ValidGroup.Update.class})
    private String taxNumber;

    @ApiModelProperty(value = "電子郵箱")
    @Email(message = "郵箱格式不正確", groups = {ValidGroup.Insert.class, ValidGroup.Update.class})
    @Size(max = 50, message = "郵箱長度不能超過 50 個(gè)字符", groups = {ValidGroup.Insert.class, ValidGroup.Update.class})
    private String email;


    /**
     * 在這里,賬戶可以是:11位手機(jī)號(hào)格式 或者 郵箱格式
     */
    @ApiModelProperty(value = "賬號(hào)")
    @NotBlank(message = "賬號(hào)不能為空!", groups = {ValidGroup.Insert.class, ValidGroup.Update.class})
    @Pattern(regexp = "^(1[3-9]\\d{9}|[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+)$", message = "賬號(hào)格式不正確,請重新處理;", groups = {ValidGroup.Insert.class, ValidGroup.Update.class})
    private String account;


    /**
     * 在這里,數(shù)據(jù)來源可以是:新建、更新、導(dǎo)入。 非常適用于 "枚舉值" 類型的字段.
     */
    @ApiModelProperty(value = "數(shù)據(jù)來源")
    @NotBlank(message = "數(shù)據(jù)來源不能為空!", groups = {ValidGroup.Insert.class, ValidGroup.Update.class})
    @Pattern(regexp = "^(新建|更新|導(dǎo)入)$", message = "賬號(hào)格式不正確,請重新處理;", groups = {ValidGroup.Insert.class, ValidGroup.Update.class, ValidGroup.Import.class})
    private String dataSource;



    // ---------------- 非數(shù)據(jù)庫表字段 ----------------



    // ---------------- 構(gòu)造函數(shù) ----------------

    /***
     * 無參構(gòu)造函數(shù)
     *
     * @return
     * @author moon  2023/7/25 15:01
     */
    public CompanyDTO() {

    }
}

3、對(duì) DTO文件中使用的校驗(yàn)注解說明

3-1、@NotNull 注解,適用于任何數(shù)據(jù)類型的屬性,不過我們一般使用在 Long類型、Integer類型 這類數(shù)字類型中,表示屬性不能為null。

3-2、@NotBlank 注解,適用于字符串類型的屬性,表示 屬性不能為 null、不能為 ""、不能為 " "(空格字符串)。

3-3、@Size 注解, 適用于字符串、數(shù)組、集合類型的屬性,用于判斷 字符串、數(shù)組、集合 的長度。

3-4、@Pattern 注解,適用于字符串類型的屬性,通過編寫正則表達(dá)式來判斷屬性值是否符合要求。常用的正則表達(dá)式類型有:屬性值為空、屬性值為對(duì)應(yīng)的枚舉值、屬性值符合郵箱格式、電話號(hào)碼格式等等。

? ? ? ? 在上文?CompanyDTO 文件中,taxNumber屬性、account屬性、dataSource屬性 均使用了?@Pattern 注解,可以作為參考。

3-5、@Email 注解,適用于字符串類型的屬性,判斷屬性的值是否符合郵箱格式。當(dāng)屬性值為null是,校驗(yàn)不會(huì)報(bào)錯(cuò)。

除了上述幾個(gè)常用的注解外,還有其他的注解,例如:@DecimalMax、@DecimalMin、@Digits、@Future、@Max、@Min、@Range、@Length 等等,大家根據(jù)自己的實(shí)際需求,自主選擇。

參考文章:

1、?SpringBoot參數(shù)校驗(yàn)(推薦) ? ? ? ? ? ?

2、文章來源地址http://www.zghlxwxcb.cn/news/detail-658493.html

到了這里,關(guān)于SpringBoot校驗(yàn),DTO文件中常用的注解應(yīng)用案例.的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SpringBoot Redis 注解 攔截器來實(shí)現(xiàn)接口冪等性校驗(yàn)

    冪等性,?通俗的說就是一個(gè)接口,?多次發(fā)起同一個(gè)請求,?必須保證操作只能執(zhí)行一次 比如:訂單接口,?不能多次創(chuàng)建訂單 支付接口,?重復(fù)支付同一筆訂單只能扣一次錢 支付寶回調(diào)接口,?可能會(huì)多次回調(diào),?必須處理重復(fù)回調(diào) 普通表單提交接口,?因?yàn)榫W(wǎng)絡(luò)超時(shí)等原因多次點(diǎn)擊提

    2024年01月19日
    瀏覽(31)
  • SpringBoot案例-登錄校驗(yàn)-概述

    在未登錄的情況下,我們也可以直接訪問部門管理、員工管理等功能 由于Http協(xié)議是無狀態(tài)的,即每次請求都是獨(dú)立的,下一次的請求不會(huì)攜帶上一次的數(shù)據(jù),服務(wù)器無法判斷是否已經(jīng)登錄。 如何實(shí)現(xiàn)登錄校驗(yàn) 在員工登錄成功之后,服務(wù)器存儲(chǔ)一個(gè) 登錄標(biāo)記 ,然后在 每一個(gè)

    2024年02月11日
    瀏覽(10)
  • springboot使用@Valid 和 @Validated 注解校驗(yàn)詳解以及編寫一個(gè)自定義全局異常類

    springboot使用@Valid 和 @Validated 注解校驗(yàn)詳解以及編寫一個(gè)自定義全局異常類

    全局異常處理類 驗(yàn)證: ============================================== 導(dǎo)入所需要的包: 如果你是 springboot 項(xiàng)目,那么可以不用引入了,已經(jīng)引入了,他就存在于最核心的 web 開發(fā)包里面。 如果你不是 springboot 項(xiàng)目,那么引入下面依賴即可: 新建三個(gè)實(shí)體類 實(shí)現(xiàn)一: 使用@Valid注解修

    2024年02月10日
    瀏覽(30)
  • Spring注解驅(qū)動(dòng)開發(fā)之常用注解案例_告別在XML中配置Bean

    注解驅(qū)動(dòng)開發(fā)就是不再使用Spring的bean.xml文件,改為純使用注解的方式開發(fā) @Configuration 此注解為配置類注解,相當(dāng)于spring.xml文件,即配置類==配置文件 @Bean 給容器中注冊一個(gè)Bean;類型為返回值的類型,id默認(rèn)是用方法名作為id 示例 Person類(后續(xù)注解配置類中都會(huì)以此類舉例),

    2024年01月21日
    瀏覽(27)
  • Spring Boot 中自定義數(shù)據(jù)校驗(yàn)注解

    Spring Boot 中自定義數(shù)據(jù)校驗(yàn)注解

    在 Spring Boot 中,我們可以使用 JSR-303 數(shù)據(jù)校驗(yàn)規(guī)范來校驗(yàn)表單數(shù)據(jù)的合法性。JSR-303 提供了一些常用的數(shù)據(jù)校驗(yàn)注解,例如 @NotNull 、 @NotBlank 、 @Size 等。但是,在實(shí)際開發(fā)中,我們可能需要自定義數(shù)據(jù)校驗(yàn)注解來滿足特定的需求。本文將介紹如何在 Spring Boot 中自定義數(shù)據(jù)校

    2024年02月10日
    瀏覽(17)
  • 基于MATLAB實(shí)現(xiàn)圖像處理常用應(yīng)用案例(附上100個(gè)仿真源碼+數(shù)據(jù))

    MATLAB是一款功能強(qiáng)大的圖像處理軟件,可以用于實(shí)現(xiàn)各種常見的圖像處理應(yīng)用。下面將介紹幾個(gè)常見的圖像處理應(yīng)用案例。 圖像去噪是圖像處理中的一項(xiàng)重要任務(wù),可以提高圖像質(zhì)量和視覺效果。MATLAB提供了多種圖像去噪算法,如中值濾波、高斯濾波、小波去噪等。以中值濾

    2024年02月14日
    瀏覽(85)
  • 【Springboot系列】SpringBoot常用的一些注解

    【Springboot系列】SpringBoot常用的一些注解

    強(qiáng)烈推薦 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站: 人工智能 引言: Spring Boot 是當(dāng)今 Java 開發(fā)領(lǐng)域中最受歡迎的框架之一,它的出現(xiàn)極大地簡化了 Spring 應(yīng)用程序的開發(fā)和部署過程。 其中,注解是 Spring Bo

    2024年04月09日
    瀏覽(19)
  • SpringBoot常用注解記錄

    ????????記錄下SpringBoot中的一些常用注解。 ????????當(dāng)談?wù)揝pring Boot注解時(shí),通常是指在使用Spring Boot框架時(shí),通過在代碼中添加特定的注解來實(shí)現(xiàn)不同功能和配置。這些注解可以在應(yīng)用程序的各個(gè)層次(類、方法、字段等)使用,以幫助開發(fā)者輕松地構(gòu)建和配置Spri

    2024年02月11日
    瀏覽(27)
  • 詳解SpringBoot的常用注解

    詳解SpringBoot的常用注解

    在SpringBoot中,注解是一種非常重要的編程方式,它可以簡化代碼,提高開發(fā)效率。本文將詳細(xì)介紹SpringBoot中的常用注解,以及它們的使用方法和場景。 1.1 概述 @SpringBootApplication 是SpringBoot應(yīng)用程序的核心注解,通常用于主類上。它包含了以下三個(gè)注解: @Configuration :表示該

    2024年02月13日
    瀏覽(62)
  • Spring&SpringBoot常用注解

    Spring&SpringBoot常用注解

    在Spring和SpringBoot中,注解是一種非常重要的編程方式,它可以簡化代碼,提高開發(fā)效率。 @SpringBootApplication是SpringBoot應(yīng)用程序的核心注解,通常用于主類上。它包含了以下三個(gè)注解: @Configuration:表示該類是一個(gè)配置類,用于定義Spring的配置信息。允許在 Spring 上下文中注冊

    2024年02月13日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包