Kotlin + Spring Boot 請(qǐng)求參數(shù)驗(yàn)證的代碼實(shí)例
編寫 Web 應(yīng)用程序的時(shí)候,經(jīng)常要做的事就是要對(duì)前端傳回的數(shù)據(jù)進(jìn)行簡(jiǎn)單的驗(yàn)證,比如是否非空、字符長(zhǎng)度是否滿足要求,郵箱格式是否正確等等。在 Spring Boot 中,可以使用 Bean Validation (JSR-303) 技術(shù)通過注解的方式來進(jìn)行參數(shù)驗(yàn)證。
準(zhǔn)備 DTO 對(duì)象
data class UserRegisterModel( @get: NotEmpty(message = "User name is required") @get: Size(message = "Length of user name must be between 6 and 20", min = 6, max = 20) var username: String, @get: NotEmpty(message = "Password is required") var password: String, @get: NotEmpty(message = "Email is required") @get: Email var email: String)
這里定義了一個(gè)十分常見的 DTO 對(duì)象,用來承載用戶注冊(cè)時(shí)的數(shù)據(jù),可能你已經(jīng)注意到了一些奇怪的地方,在一些注解的前面多了get:這樣的東西,是因?yàn)?kotlin 會(huì)直接在字節(jié)碼中生成 getter 跟 setter,這樣寫是顯式的是表明這個(gè)注解應(yīng)該作用在getter上。
準(zhǔn)備一個(gè) Controller
/** * 用戶注冊(cè)接口 */ @PostMapping fun register(@Valid @RequestBody model: UserRegisterModel): Any { val user = User(userName = model.username, password = model.password, email = model.email) userRepo.save(user) return user }
只需要在需要驗(yàn)證的參數(shù)前加上 @Valid 注解,Spring 就會(huì)自動(dòng)的驗(yàn)證參數(shù)的正確性。
來個(gè)測(cè)試
把用戶名空著
參數(shù)完整且正確
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java中break、continue、return在for循環(huán)中的使用
這篇文章主要介紹了break、continue、return在for循環(huán)中的使用,本文是小編收藏整理的,非常具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11關(guān)于Java實(shí)現(xiàn)HttpServer模擬前端接口調(diào)用
這篇文章主要介紹了關(guān)于Java實(shí)現(xiàn)Http?Server模擬前端接口調(diào)用,Http?協(xié)議是建立在?TCP?協(xié)議之上的協(xié)議,所以能用?TCP?來自己模擬一個(gè)簡(jiǎn)單的?Http?Server?當(dāng)然是可以的,需要的朋友可以參考下2023-04-04Java詳細(xì)分析講解自動(dòng)裝箱自動(dòng)拆箱與Integer緩存的使用
裝箱就是把基本類型轉(zhuǎn)換成包裝類,拆箱就是把包裝類轉(zhuǎn)換成基本類型,下面這篇文章主要給大家介紹Java中自動(dòng)裝箱、自動(dòng)拆箱與Integer緩存,需要的朋友可以參考下2022-04-04DynamicDataSource怎樣解決多數(shù)據(jù)源的事務(wù)問題
這篇文章主要介紹了DynamicDataSource怎樣解決多數(shù)據(jù)源的事務(wù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07將java中的 string 類型轉(zhuǎn)成 數(shù)組案例
這篇文章主要介紹了將java中的 string 類型轉(zhuǎn)成 數(shù)組案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09Spring中@DependsOn注解的作用及實(shí)現(xiàn)原理解析
這篇文章主要介紹了Spring中@DependsOn注解的作用及實(shí)現(xiàn)原理解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03