SpringBoot使用validation進(jìn)行自參數(shù)校驗(yàn)的方法
一:介紹
在 SpringBoot 項(xiàng)目開(kāi)發(fā)中,很多與數(shù)據(jù)庫(kù)交互的參數(shù)需要校驗(yàn)數(shù)據(jù)正確性。很多小伙伴會(huì)把參數(shù)判斷寫(xiě)進(jìn)代碼里,但是這種寫(xiě)法往往會(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、編寫(xiě) 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、編寫(xiě)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?Web項(xiàng)目中解決中文亂碼方法總結(jié)(三種最新方法)
這篇文章主要介紹了Java?Web項(xiàng)目中解決中文亂碼方法總結(jié),本文給大家分享三種最新解決方法,需要的朋友可以參考下2022-06-06java 獲取HttpRequest Header的幾種方法(必看篇)
下面小編就為大家?guī)?lái)一篇java 獲取HttpRequest Header的幾種方法(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09SpringBoot對(duì)Filter過(guò)濾器中的異常進(jìn)行全局處理方案詳解
這篇文章主要介紹了SpringBoot對(duì)Filter過(guò)濾器中的異常進(jìn)行全局處理,在SpringBoot中我們通過(guò) @ControllerAdvice 注解和 @ExceptionHandler注解注冊(cè)了全局異常處理器,需要的朋友可以參考下2023-09-09Java中連接Mongodb進(jìn)行增刪改查的操作詳解
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),由C++語(yǔ)言編寫(xiě),旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案,本文給大家介紹了Java中連接Mongodb進(jìn)行操作,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-06-06java web監(jiān)聽(tīng)器統(tǒng)計(jì)在線用戶及人數(shù)
本文主要介紹了java web監(jiān)聽(tīng)器統(tǒng)計(jì)在線用戶及人數(shù)的方法解析。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04MyBatis圖文并茂講解注解開(kāi)發(fā)一對(duì)多查詢
這篇文章主要介紹了SpringBoot中Mybatis注解一對(duì)多查詢的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07