編寫 web 應用程序的時候,經常要做的事就是要對前端傳回的數據進行簡單的驗證,比如是否非空、字符長度是否滿足要求,郵箱格式是否正確等等。在 spring boot 中,可以使用 bean validation (jsr-303) 技術通過注解的方式來進行參數驗證。
準備 dto 對象
1
2
3
4
5
6
7
8
9
10
11
|
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) |
這里定義了一個十分常見的 dto 對象,用來承載用戶注冊時的數據,可能你已經注意到了一些奇怪的地方,在一些注解的前面多了get:這樣的東西,是因為 kotlin 會直接在字節碼中生成 getter 跟 setter,這樣寫是顯式的是表明這個注解應該作用在getter上。
準備一個 controller
1
2
3
4
5
6
7
8
9
|
/** * 用戶注冊接口 */ @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 } |
只需要在需要驗證的參數前加上 @valid 注解,spring 就會自動的驗證參數的正確性。
來個測試
把用戶名空著
參數完整且正確
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/JacZhu/p/7260897.html?utm_source=tuicool&utm_medium=referral