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

SpringBoot使用validation進(jìn)行自參數(shù)校驗(yàn)的方法

 更新時(shí)間:2024年09月27日 15:59:08   作者:暴怒的代碼  
在SpringBoot項(xiàng)目中,利用validation依賴可以通過(guò)注解方式校驗(yàn)數(shù)據(jù)庫(kù)交互參數(shù),提高代碼可讀性和維護(hù)性,此方法避免了硬編碼校驗(yàn)規(guī)則,方便后期規(guī)則變更,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

一:介紹

        在 SpringBoot 項(xiàng)目開(kāi)發(fā)中,很多與數(shù)據(jù)庫(kù)交互的參數(shù)需要校驗(yàn)數(shù)據(jù)正確性。很多小伙伴會(huì)把參數(shù)判斷寫進(jìn)代碼里,但是這種寫法往往會(huì)有低可讀性以及多處使用的時(shí)候,需要變更驗(yàn)證規(guī)則時(shí),不易于維護(hù)等缺點(diǎn)。今天給大家介紹 Starter 的 validation 依賴??梢灾苯邮褂米⒔獾姆绞竭M(jìn)行參數(shù)的校驗(yàn),可讀性與維護(hù)性都顯著提高。

        一些常見(jiàn)的:

二:使用

1、添加依賴

        該依賴屬于 org.springframework.boot 下。

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

        因?yàn)楹竺嬗玫搅?@Data ,所以需要添加 lombok。

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.30</version>
            </dependency>

2、編寫 pojo 類

        代碼如下:

import lombok.Data;
import javax.validation.constraints.*;
import java.time.LocalDate;
@Data
public class Person {
  @NotBlank(message = "名字不能為空")
  private String name;
  @Max(value = 100,message = "年齡不能大于100歲")
  @Min(value = 0 ,message = "年齡不能小于0歲")
  private int age;
  @Email(message = "郵箱格式不正確")
  private String email;
  //@Past(message = "生日不能大于當(dāng)前日期")
  //private LocalDate birthDay;
}

3、編寫controller類

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
@RestController
@RequestMapping("/validation")
public class validationController {
  @PostMapping("/demo")
  public Person demo(@RequestBody @Valid Person person){
    return person;
  }
}

4、post接口數(shù)據(jù)

{

    "name": "",

    "age": -1,

    "email": "email#163.com"

}

5、結(jié)果

到此這篇關(guān)于SpringBoot使用validation進(jìn)行自參數(shù)校驗(yàn)的文章就介紹到這了,更多相關(guān)SpringBoot validation自參數(shù)校驗(yàn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java內(nèi)存模型及其作用詳解

    Java內(nèi)存模型及其作用詳解

    在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,尤其是多處理器架構(gòu)下,每個(gè)處理器都有自己的高速緩存,而主內(nèi)存(RAM)是所有處理器共享的數(shù)據(jù)存儲(chǔ)區(qū)域,這篇文章主要介紹了深入理解Java內(nèi)存模型及其作用,需要的朋友可以參考下
    2024-04-04
  • Spring Cloud 覆寫遠(yuǎn)端的配置屬性實(shí)例詳解

    Spring Cloud 覆寫遠(yuǎn)端的配置屬性實(shí)例詳解

    這篇文章主要介紹了Spring Cloud 覆寫遠(yuǎn)端的配置屬性的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • SpringIOC DI循環(huán)依賴實(shí)例詳解

    SpringIOC DI循環(huán)依賴實(shí)例詳解

    這篇文章主要介紹了SpringIOC——DI循環(huán)依賴,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 詳解關(guān)于spring bean名稱命名的那些事

    詳解關(guān)于spring bean名稱命名的那些事

    每個(gè)bean都有一個(gè)或者多個(gè)標(biāo)識(shí)符,這些標(biāo)識(shí)符在容器中必須是唯一的,這篇文章主要給大家介紹了關(guān)于spring bean名稱命名的那些事,需要的朋友可以參考下
    2021-07-07
  • Spring整合MyBatis圖示過(guò)程解析

    Spring整合MyBatis圖示過(guò)程解析

    這篇文章主要介紹了Spring整合MyBatis圖示過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 詳解Java環(huán)境變量配置方法(Windows)

    詳解Java環(huán)境變量配置方法(Windows)

    這篇文章主要介紹了Java環(huán)境變量配置方法(Windows),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 詳解java中繼承關(guān)系類加載順序問(wèn)題

    詳解java中繼承關(guān)系類加載順序問(wèn)題

    這篇文章主要介紹了詳解java中繼承關(guān)系類加載順序問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • java常用工具類 Reflect反射工具類、String字符串工具類

    java常用工具類 Reflect反射工具類、String字符串工具類

    這篇文章主要為大家詳細(xì)介紹了java常用工具類,包括Reflect反射工具類、String字符串工具類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 一文帶你認(rèn)識(shí)java中的String類

    一文帶你認(rèn)識(shí)java中的String類

    在Java語(yǔ)言中,所有類似“ABC”的字面值,都是String類的實(shí)例,String類位于java.lang包下,是Java語(yǔ)言的核心類,提供了字符串的比較、查找、截取、大小寫轉(zhuǎn)換等操作,這篇文章主要給大家介紹了關(guān)于java中String類的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • javaDSL簡(jiǎn)單實(shí)現(xiàn)示例分享

    javaDSL簡(jiǎn)單實(shí)現(xiàn)示例分享

    DSL領(lǐng)域定義語(yǔ)言,用來(lái)描述特定領(lǐng)域的特定表達(dá)。比如畫圖從起點(diǎn)到終點(diǎn);路由中的從A到B。這是關(guān)于畫圖的一個(gè)簡(jiǎn)單實(shí)現(xiàn)
    2014-03-03

最新評(píng)論

井陉县| 师宗县| 淄博市| 平邑县| 澄江县| 新民市| 宜都市| 马鞍山市| 方山县| 独山县| 育儿| 威信县| 馆陶县| 武义县| 白银市| 淮北市| 平昌县| 洛扎县| 勐海县| 紫阳县| 斗六市| 佛冈县| 蓝山县| 绥德县| 南阳市| 睢宁县| 白玉县| 鄂伦春自治旗| 胶南市| 探索| 甘泉县| 日土县| 郴州市| 繁昌县| 二连浩特市| 文昌市| 南郑县| 讷河市| 彭州市| 永清县| 铜川市|