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

二:使用
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)文章希望大家以后多多支持腳本之家!
- spring?參數(shù)校驗(yàn)Validation示例詳解
- Spring?Boot集成validation實(shí)現(xiàn)參數(shù)校驗(yàn)功能
- SpringBoot使用Validation包進(jìn)行輸入?yún)?shù)校驗(yàn)
- springboot之Validation參數(shù)校驗(yàn)詳細(xì)解讀
- SpringBoot使用Validation進(jìn)行參數(shù)校驗(yàn)的示例詳解
- SpringBoot集成Validation參數(shù)校驗(yàn)
- 基于Spring Validation實(shí)現(xiàn)全局參數(shù)校驗(yàn)異常處理的示例詳解
相關(guān)文章
Java 將List中的實(shí)體類按照某個(gè)字段進(jìn)行分組并存放至Map中操作
這篇文章主要介紹了Java 將List中的實(shí)體類按照某個(gè)字段進(jìn)行分組并存放至Map中操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
Maven配置文件settings.xml的實(shí)現(xiàn)
Maven是一個(gè)用于構(gòu)建和管理Java項(xiàng)目的強(qiáng)大工具,它依賴于設(shè)置文件來(lái)配置和管理其行為,其中最重要的之一便是settings.xml文件,本文主要介紹了Maven配置文件settings.xml的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
Java利用反射自動(dòng)封裝成實(shí)體對(duì)象的方法
這篇文章主要介紹了Java利用反射自動(dòng)封裝成實(shí)體對(duì)象的方法,可實(shí)現(xiàn)自動(dòng)封裝成bean對(duì)象功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01
Java Spring MVC 上傳下載文件配置及controller方法詳解
這篇文章主要介紹了Java Spring MVC 上傳下載文件配置及controller方法詳解,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
基于Java代碼實(shí)現(xiàn)游戲服務(wù)器生成全局唯一ID的方法匯總
我們?cè)谧龇?wù)器系統(tǒng)開發(fā)的時(shí)候,為了適應(yīng)數(shù)據(jù)大并發(fā)的請(qǐng)求,需要插入數(shù)據(jù)庫(kù)之前生成一個(gè)全局的唯一id,糾結(jié)全局唯一id怎么生成呢?下面小編給大家分享Java代碼實(shí)現(xiàn)游戲服務(wù)器生成全局唯一ID的方法匯總,涉及到優(yōu)劣勢(shì)方面的知識(shí)點(diǎn),對(duì)此感興趣的朋友一起看看吧2016-10-10
java設(shè)計(jì)模式(實(shí)戰(zhàn))-責(zé)任鏈模式
這篇文章主要介紹了java設(shè)計(jì)模式(實(shí)戰(zhàn))-責(zé)任鏈模式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01

