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

spring boot實(shí)現(xiàn)實(shí)體類(lèi)參數(shù)自定義校驗(yàn)

這篇具有很好參考價(jià)值的文章主要介紹了spring boot實(shí)現(xiàn)實(shí)體類(lèi)參數(shù)自定義校驗(yàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

安裝依賴(lài)項(xiàng)

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

1、新建實(shí)體類(lèi)

@Data
public class UserEntity {

    private String name;

    private Integer age;
}

2、新建驗(yàn)證類(lèi)

import com.example.springboot3mqtt.entity.UserEntity;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;

public class UserValidator implements Validator {

    //判斷當(dāng)前驗(yàn)證器是否支持該class類(lèi)型的驗(yàn)證
    @Override
    public boolean supports(Class<?> clazz){
        return clazz.equals(UserEntity.class);//對(duì)應(yīng)的實(shí)體類(lèi)
    }

    //驗(yàn)證邏輯
    @Override
    public void validate(Object target, Errors errors){
        if (target==null){
            errors.rejectValue("","300","用戶(hù)不得為空");
        }
        UserEntity user=(UserEntity)target;
        if(user.getName()==null || user.getName().isEmpty()){
            errors.rejectValue("name","300","用戶(hù)名不能為空");
        }
    }
}

3、在控制器中
3.1 首先寫(xiě)入方法
@InitBinder注解的作用是在控制器方法執(zhí)行之前,先執(zhí)行有 @InitBinder注解的方法,使用WebDataBinder 把新建的驗(yàn)證規(guī)則綁定

@InitBinder
    public void initBinder(WebDataBinder binder){
        binder.setValidator(new UserValidator());//綁定剛才的自定義驗(yàn)證器
    }

3.2 在控制器接口參數(shù)中文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-656395.html

@PostMapping("/updateUser")
    public String updateUser(@Valid @RequestBody UserEntity user){
        //Validator
        return "OK";
    }

到了這里,關(guān)于spring boot實(shí)現(xiàn)實(shí)體類(lèi)參數(shù)自定義校驗(yàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Spring Boot中參數(shù)校驗(yàn)

    Spring Boot中參數(shù)校驗(yàn)

    為了保證數(shù)據(jù)的正確性、完整性,前后端都需要進(jìn)行數(shù)據(jù)檢驗(yàn)。作為一名后端開(kāi)發(fā)工程師,不能僅僅依靠前端來(lái)校驗(yàn)數(shù)據(jù),我們還需要對(duì)接口請(qǐng)求的參數(shù)進(jìn)行后端的校驗(yàn)。最常見(jiàn)的做法就是通過(guò)if/else語(yǔ)句來(lái)對(duì)請(qǐng)求的每一個(gè)參數(shù)一一校驗(yàn),當(dāng)很多參數(shù)需要校驗(yàn)的時(shí)候,if/else語(yǔ)

    2023年04月16日
    瀏覽(22)
  • Spring Boot 使用validation校驗(yàn)參數(shù)

    在看公司代碼的時(shí)候,發(fā)現(xiàn)是用了 Spring Boot Validation 去檢驗(yàn)參數(shù)的,但是后面又在代碼里去檢驗(yàn)參數(shù)去了,而且這個(gè) Spring Boot Validation 校驗(yàn)好像并不生效。于是自己摸索研究了一下。 雖然項(xiàng)目使用的校驗(yàn)都是 javax.validation ,但是不引入這個(gè)依賴(lài)他是真的不生效。 gradle如下:

    2024年01月25日
    瀏覽(26)
  • spring boot3參數(shù)校驗(yàn)基本用法

    spring boot3參數(shù)校驗(yàn)基本用法

    ??個(gè)人主頁(yè):? ? ? 蒾酒 ??系列專(zhuān)欄: 《spring boot實(shí)戰(zhàn)》 ??山高路遠(yuǎn),行路漫漫,終有歸途。 目錄 前置條件 前言 導(dǎo)入依賴(lài) 使用介紹 配置檢驗(yàn)規(guī)則 開(kāi)啟校驗(yàn) 使用注意 全局異常捕獲返回友好提示信息 常用的校驗(yàn)規(guī)則注解 使用技巧 已經(jīng)初始化好一個(gè)spring boot項(xiàng)目且版本為

    2024年02月21日
    瀏覽(11)
  • 如何在Spring Boot中優(yōu)雅地進(jìn)行參數(shù)校驗(yàn)

    在平時(shí)的開(kāi)發(fā)工作中,我們通常需要對(duì)接口進(jìn)行參數(shù)格式驗(yàn)證。當(dāng)參數(shù)個(gè)數(shù)較少(個(gè)數(shù)小于3)時(shí),可以使用 if ... else ... 手動(dòng)進(jìn)行參數(shù)驗(yàn)證。當(dāng)參數(shù)個(gè)數(shù)大于3個(gè)時(shí),使用 if ... else ... 進(jìn)行參數(shù)驗(yàn)證就會(huì)讓代碼顯得臃腫,這個(gè)時(shí)候推薦使用注解來(lái)進(jìn)行參數(shù)驗(yàn)證。 在Java中,注解

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

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

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

    2024年02月10日
    瀏覽(18)
  • Spring Boot使用 Hibernate-Validator校驗(yàn)參數(shù)時(shí)的長(zhǎng)度校驗(yàn)

    今天在使用Validator框架數(shù)據(jù)驗(yàn)證的時(shí)候碰到了三個(gè)類(lèi)似的注解,都是用來(lái)限制長(zhǎng)度,但是用法上有區(qū)別: ?@Size是一個(gè)Bean驗(yàn)證注釋,用于驗(yàn)證關(guān)聯(lián)的String具有的長(zhǎng)度受最小值和最大值限制的值. ?@Length是一個(gè)Hibernate特定的注釋,與@Size具有相同的含義; 兩者的區(qū)別: ? 用@length限

    2024年02月14日
    瀏覽(29)
  • 后端表情包依賴(lài)+自定義注解實(shí)現(xiàn)校驗(yàn)

    開(kāi)發(fā)過(guò)程中遇到小程序登記信息填寫(xiě)文本時(shí)可能輸入表情包,需要后端校驗(yàn) 由于字段太多,所以用自定義注解的方式來(lái)實(shí)現(xiàn) 步驟1:在pom文件中加入表情包依賴(lài) 步驟2: 自定義注解類(lèi) 步驟3: 在請(qǐng)求的實(shí)體使用這個(gè)注解,需要要在controller中加入@Validated注解,校驗(yàn)才會(huì)生效

    2024年02月16日
    瀏覽(28)
  • Spring Boot學(xué)習(xí)隨筆- 后端實(shí)現(xiàn)全局異常處理(HandlerExceptionResolver),前后端解決跨域問(wèn)題(@CrossOrigin(局部解決)自定義跨域配置類(lèi)(全局))

    Spring Boot學(xué)習(xí)隨筆- 后端實(shí)現(xiàn)全局異常處理(HandlerExceptionResolver),前后端解決跨域問(wèn)題(@CrossOrigin(局部解決)自定義跨域配置類(lèi)(全局))

    學(xué)習(xí)視頻:【編程不良人】2021年SpringBoot最新最全教程 異常處理作用:用來(lái)解決整合系統(tǒng)中任意一個(gè)控制器拋出異常時(shí)的統(tǒng)一處理入口 傳統(tǒng)單體架構(gòu)下的處理方式 配置全局異常處理類(lèi) resolveException :當(dāng)控制器方法出現(xiàn)異常時(shí),如果該方法沒(méi)有try...catch,則會(huì)進(jìn)入當(dāng)前方法 針

    2024年02月04日
    瀏覽(95)
  • 【Spring Boot】請(qǐng)求參數(shù)傳json數(shù)組,后端采用(pojo)新增案例(103)

    【Spring Boot】請(qǐng)求參數(shù)傳json數(shù)組,后端采用(pojo)新增案例(103)

    請(qǐng)求參數(shù)傳json數(shù)組,后端采用(pojo)接收的前提條件: 1.pom.xml文件加入坐標(biāo)依賴(lài):jackson-databind 2.Spring Boot 的啟動(dòng)類(lèi)加注解:@EnableWebMvc 3.Spring Boot 的Controller接受參數(shù)采用:@RequestBody 4.postman入?yún)⒉捎胘son格式 備注: 此處省略:pom文件加入坐標(biāo)依賴(lài)和啟動(dòng)類(lèi)加注解:@EnableWebM

    2024年02月14日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包