SpringBoot使用validation進(jìn)行自參數(shù)校驗的方法
一:介紹
在 SpringBoot 項目開發(fā)中,很多與數(shù)據(jù)庫交互的參數(shù)需要校驗數(shù)據(jù)正確性。很多小伙伴會把參數(shù)判斷寫進(jìn)代碼里,但是這種寫法往往會有低可讀性以及多處使用的時候,需要變更驗證規(guī)則時,不易于維護(hù)等缺點(diǎn)。今天給大家介紹 Starter 的 validation 依賴??梢灾苯邮褂米⒔獾姆绞竭M(jìn)行參數(shù)的校驗,可讀性與維護(hù)性都顯著提高。
一些常見的:
二:使用
1、添加依賴
該依賴屬于 org.springframework.boot 下。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <version>3.2.1</version> </dependency>
因為后面用到了 @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ù)校驗的文章就介紹到這了,更多相關(guān)SpringBoot validation自參數(shù)校驗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java?Web項目中解決中文亂碼方法總結(jié)(三種最新方法)
這篇文章主要介紹了Java?Web項目中解決中文亂碼方法總結(jié),本文給大家分享三種最新解決方法,需要的朋友可以參考下2022-06-06java 獲取HttpRequest Header的幾種方法(必看篇)
下面小編就為大家?guī)硪黄猨ava 獲取HttpRequest Header的幾種方法(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09SpringBoot對Filter過濾器中的異常進(jìn)行全局處理方案詳解
這篇文章主要介紹了SpringBoot對Filter過濾器中的異常進(jìn)行全局處理,在SpringBoot中我們通過 @ControllerAdvice 注解和 @ExceptionHandler注解注冊了全局異常處理器,需要的朋友可以參考下2023-09-09Java中連接Mongodb進(jìn)行增刪改查的操作詳解
MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,由C++語言編寫,旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案,本文給大家介紹了Java中連接Mongodb進(jìn)行操作,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-06-06java web監(jiān)聽器統(tǒng)計在線用戶及人數(shù)
本文主要介紹了java web監(jiān)聽器統(tǒng)計在線用戶及人數(shù)的方法解析。具有很好的參考價值。下面跟著小編一起來看下吧2017-04-04