欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kotlin + Spring Boot 請(qǐng)求參數(shù)驗(yàn)證的代碼實(shí)例

 更新時(shí)間:2017年07月31日 09:16:29   作者:不如隱茶去  
本篇文章主要介紹了Kotlin + Spring Boot 請(qǐng)求參數(shù)驗(yàn)證的代碼實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

編寫 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)中的使用

    Java中break、continue、return在for循環(huán)中的使用

    這篇文章主要介紹了break、continue、return在for循環(huán)中的使用,本文是小編收藏整理的,非常具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-11-11
  • Java多線程中的ThreadPoolExecutor解讀

    Java多線程中的ThreadPoolExecutor解讀

    這篇文章主要介紹了Java多線程中的ThreadPoolExecutor解讀,線程池中的核心線程數(shù),當(dāng)提交一個(gè)任務(wù)時(shí),線程池創(chuàng)建一個(gè)新線程執(zhí)行任務(wù),直到當(dāng)前線程數(shù)等于corePoolSize;如果當(dāng)前線程數(shù)為corePoolSize,繼續(xù)提交的任務(wù)被保存到阻塞隊(duì)列中,等待被執(zhí)行,需要的朋友可以參考下
    2023-09-09
  • 關(guān)于Java實(shí)現(xiàn)HttpServer模擬前端接口調(diào)用

    關(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-04
  • Java詳細(xì)分析講解自動(dòng)裝箱自動(dòng)拆箱與Integer緩存的使用

    Java詳細(xì)分析講解自動(dòng)裝箱自動(dòng)拆箱與Integer緩存的使用

    裝箱就是把基本類型轉(zhuǎn)換成包裝類,拆箱就是把包裝類轉(zhuǎn)換成基本類型,下面這篇文章主要給大家介紹Java中自動(dòng)裝箱、自動(dòng)拆箱與Integer緩存,需要的朋友可以參考下
    2022-04-04
  • Java并發(fā)之AQS與自旋鎖詳解

    Java并發(fā)之AQS與自旋鎖詳解

    這篇文章主要介紹了Java并發(fā)之AQS與自旋鎖詳解,類如其名,抽象的隊(duì)列式的同步器,AQS定義了一套多線程訪問共享資源的同步器框架,許多同步類實(shí)現(xiàn)都依賴于它,如常用的ReentrantLock/Semaphore/CountDownLatch,需要的朋友可以參考下
    2023-10-10
  • Dubbo服務(wù)無法注冊(cè)到ZK上問題

    Dubbo服務(wù)無法注冊(cè)到ZK上問題

    這篇文章主要介紹了Dubbo服務(wù)無法注冊(cè)到ZK上問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • DynamicDataSource怎樣解決多數(shù)據(jù)源的事務(wù)問題

    DynamicDataSource怎樣解決多數(shù)據(jù)源的事務(wù)問題

    這篇文章主要介紹了DynamicDataSource怎樣解決多數(shù)據(jù)源的事務(wù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 將java中的 string 類型轉(zhuǎn)成 數(shù)組案例

    將java中的 string 類型轉(zhuǎn)成 數(shù)組案例

    這篇文章主要介紹了將java中的 string 類型轉(zhuǎn)成 數(shù)組案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 詳解Java類庫的概念以及import的使用方法

    詳解Java類庫的概念以及import的使用方法

    這篇文章主要介紹了詳解Java類庫的概念以及import的使用方法,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • Spring中@DependsOn注解的作用及實(shí)現(xiàn)原理解析

    Spring中@DependsOn注解的作用及實(shí)現(xiàn)原理解析

    這篇文章主要介紹了Spring中@DependsOn注解的作用及實(shí)現(xiàn)原理解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03

最新評(píng)論