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

SpringBoot項(xiàng)目使用validated實(shí)現(xiàn)參數(shù)校驗(yàn)框架

 更新時(shí)間:2024年05月30日 09:13:44   作者:風(fēng)止?  
當(dāng)談到Spring的參數(shù)校驗(yàn)功能時(shí),@Validated注解無(wú)疑是一個(gè)重要的利器,它為我們提供了一種簡(jiǎn)單而又強(qiáng)大的方式來(lái)驗(yàn)證請(qǐng)求參數(shù)的合法性,保證了系統(tǒng)的穩(wěn)定性和安全性,本文將介紹Spring Validated的基本用法以及在實(shí)際項(xiàng)目中的應(yīng)用,需要的朋友可以參考下

引言

當(dāng)談到Spring的參數(shù)校驗(yàn)功能時(shí),@Validated注解無(wú)疑是一個(gè)重要的利器。它為我們提供了一種簡(jiǎn)單而又強(qiáng)大的方式來(lái)驗(yàn)證請(qǐng)求參數(shù)的合法性,保證了系統(tǒng)的穩(wěn)定性和安全性。本文將介紹Spring Validated的基本用法以及在實(shí)際項(xiàng)目中的應(yīng)用。

一、validated是什么?

  1. @Validated注解的作用和使用方法

    • 可以用于Controller類或方法上,開(kāi)啟對(duì)請(qǐng)求參數(shù)的校驗(yàn)功能。
    • 通過(guò)在方法參數(shù)上使用其他校驗(yàn)注解(如@NotNull、@NotBlank、@Min、@Max等),對(duì)請(qǐng)求參數(shù)進(jìn)行校驗(yàn)和驗(yàn)證,確保參數(shù)的合法性。
    • 可配合使用Spring Validation API或其他支持JSR-303規(guī)范的驗(yàn)證框架(如Hibernate Validator),發(fā)揮@Validated注解的最大效用。
  2. @Validated注解的實(shí)際應(yīng)用示例

    • 編寫(xiě)一個(gè)用戶注冊(cè)接口,結(jié)合@Pattern注解對(duì)用戶名和密碼進(jìn)行格式校驗(yàn)。
    • 處理校驗(yàn)失敗時(shí)的異常情況,并返回友好的錯(cuò)誤信息給接口調(diào)用方。
  3. @Validated注解的注意事項(xiàng)和最佳實(shí)踐

    • 討論@Validated注解在復(fù)雜校驗(yàn)場(chǎng)景下的使用技巧。
    • 如何在全局配置文件中聲明驗(yàn)證器或配置驗(yàn)證規(guī)則,使得@Validated注解更加靈活地適應(yīng)各種項(xiàng)目需求。

二、使用步驟

1.引入maven依賴

代碼如下(示例):

<!--        Validation合法性校驗(yàn)(參數(shù))  參數(shù)校驗(yàn)框架的依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

2.使用實(shí)現(xiàn)

代碼如下 參數(shù)長(zhǎng)度在  5 - 16位(示例):

/**
 * @Description: 用戶相關(guān)的控制層
 * @Author: windStop
 * @Date: 2024/5/26 16:18
 */
@RestController
@RequestMapping("/user")
@Validated  //啟用參數(shù)校驗(yàn)功能
public class UserController {
    @Autowired
    private UserService userService;

    /**
     * 用于注冊(cè)新用戶  在注冊(cè)用戶的時(shí)候需要先判斷用戶名是否存在,因?yàn)橛脩裘豢梢灾貜?fù)
     * 這里我不打算使用給用戶名添加唯一字段
     * @param username 用戶名
     * @param password 密碼
     * @return 是否注冊(cè)成功
     */
    @PostMapping("/register")
    public Result register(@Pattern(regexp = "^\\S{5,16}") String username, @Pattern(regexp = "^\\S{5,16}")String password){
        //1.判斷用戶是否存在
        if (userService.findByUsername(username)){
            return Result.error("用戶名已存在無(wú)法注冊(cè)");
        }
        //2.不存在進(jìn)行注冊(cè)
        boolean flag = userService.register(username,password);
        return Result.success(flag);
    }

}

總結(jié)

通過(guò)本文的學(xué)習(xí),讀者將深入了解Spring Validated的使用方法和原理,掌握在實(shí)際項(xiàng)目中如何有效地利用@Validated注解進(jìn)行參數(shù)校驗(yàn)。希望本文能夠?yàn)槟赟pring項(xiàng)目開(kāi)發(fā)中遇到的參數(shù)校驗(yàn)問(wèn)題提供一些啟發(fā)和幫助。如有需要進(jìn)一步了解或其他問(wèn)題,請(qǐng)隨時(shí)告訴我。

以上就是SpringBoot項(xiàng)目使用validated實(shí)現(xiàn)參數(shù)校驗(yàn)框架的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot validated參數(shù)校驗(yàn)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringCloud的JPA連接PostgreSql的教程

    SpringCloud的JPA連接PostgreSql的教程

    這篇文章主要介紹了SpringCloud的JPA接入PostgreSql 教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-06-06
  • JAVA Calendar類使用方面實(shí)例

    JAVA Calendar類使用方面實(shí)例

    這篇文章主要介紹了JAVA Calendar類使用方面實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • ActiveMQ結(jié)合Spring收發(fā)消息的示例代碼

    ActiveMQ結(jié)合Spring收發(fā)消息的示例代碼

    這篇文章主要介紹了ActiveMQ結(jié)合Spring收發(fā)消息的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • SpringBootAdmin+actuator實(shí)現(xiàn)服務(wù)監(jiān)控

    SpringBootAdmin+actuator實(shí)現(xiàn)服務(wù)監(jiān)控

    這篇文章主要為大家詳細(xì)介紹了SpringBootAdmin+actuator實(shí)現(xiàn)服務(wù)監(jiān)控,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java 跳出遞歸循環(huán)問(wèn)題解決辦法

    Java 跳出遞歸循環(huán)問(wèn)題解決辦法

    這篇文章主要介紹了 Java 跳出遞歸循環(huán)問(wèn)題解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • JavaScript中new運(yùn)算符的實(shí)現(xiàn)過(guò)程解析

    JavaScript中new運(yùn)算符的實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了JavaScript中new運(yùn)算符的實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot實(shí)現(xiàn)HTTP調(diào)用的7 種方式

    SpringBoot實(shí)現(xiàn)HTTP調(diào)用的7 種方式

    本文主要介紹了SpringBoot實(shí)現(xiàn)HTTP調(diào)用的7 種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • springBoot集成redis的key,value序列化的相關(guān)問(wèn)題

    springBoot集成redis的key,value序列化的相關(guān)問(wèn)題

    這篇文章主要介紹了springBoot集成redis的key,value序列化的相關(guān)問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • SpringBoot Arthas實(shí)現(xiàn)線上監(jiān)控診斷

    SpringBoot Arthas實(shí)現(xiàn)線上監(jiān)控診斷

    本文主要介紹了SpringBoot Arthas實(shí)現(xiàn)線上監(jiān)控診斷,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-03-03
  • RestTemplate報(bào)錯(cuò)400 Bad Request的解決方案

    RestTemplate報(bào)錯(cuò)400 Bad Request的解決方案

    在使用Spring Boot時(shí),若直接通過(guò)@Autowired注入RestTemplate可能會(huì)遇到400BadRequest錯(cuò)誤,原因在于Spring Boot官方文檔指出,由于RestTemplate實(shí)例通常需要在使用前進(jìn)行定制,因此Spring Boot不會(huì)自動(dòng)配置單個(gè)RestTemplate Bean
    2024-11-11

最新評(píng)論

朔州市| 渝北区| 抚州市| 突泉县| 浦江县| 威信县| 环江| 鄂托克前旗| 海淀区| 屯留县| 和顺县| 资阳市| 新干县| 民勤县| 汝南县| 新龙县| 泾源县| 海安县| 龙里县| 思茅市| 福贡县| 梁平县| 肇东市| 永泰县| 鄢陵县| 茌平县| 汉中市| 绥芬河市| 通道| 称多县| 朝阳县| 松江区| 新昌县| 青海省| 曲松县| 宿州市| 科技| 内丘县| 永善县| 吴江市| 昭苏县|