最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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à)值,感興趣的小伙伴們可以參考一下

編寫(xiě) Web 應(yīng)用程序的時(shí)候,經(jīng)常要做的事就是要對(duì)前端傳回的數(shù)據(jù)進(jìn)行簡(jiǎn)單的驗(yàn)證,比如是否非空、字符長(zhǎng)度是否滿足要求,郵箱格式是否正確等等。在 Spring Boot 中,可以使用 Bean Validation (JSR-303) 技術(shù)通過(guò)注解的方式來(lái)進(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è)十分常見(jiàn)的 DTO 對(duì)象,用來(lái)承載用戶注冊(cè)時(shí)的數(shù)據(jù),可能你已經(jīng)注意到了一些奇怪的地方,在一些注解的前面多了get:這樣的東西,是因?yàn)?kotlin 會(huì)直接在字節(jié)碼中生成 getter 跟 setter,這樣寫(xiě)是顯式的是表明這個(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ù)的正確性。

來(lái)個(gè)測(cè)試

把用戶名空著

參數(shù)完整且正確

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?MVC和springboot靜態(tài)資源處理問(wèn)題

    Spring?MVC和springboot靜態(tài)資源處理問(wèn)題

    這篇文章主要介紹了Spring?MVC和springboot靜態(tài)資源處理問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 解決IDEA中快捷鍵Alt+Enter不能使用的問(wèn)題

    解決IDEA中快捷鍵Alt+Enter不能使用的問(wèn)題

    這篇文章主要介紹了解決IDEA中快捷鍵Alt+Enter不能使用的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java volatile的適用場(chǎng)景實(shí)例詳解

    Java volatile的適用場(chǎng)景實(shí)例詳解

    在本文里我們給大家整理了一篇關(guān)于Java volatile的適用場(chǎng)景實(shí)例內(nèi)容和知識(shí)點(diǎn),需要的朋友們可以學(xué)習(xí)下。
    2019-08-08
  • LCN分布式事務(wù)解決方案詳解

    LCN分布式事務(wù)解決方案詳解

    這篇文章主要介紹了LCN分布式事務(wù)解決方案詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 快速搭建一個(gè)SpringBoot項(xiàng)目(純小白搭建教程)

    快速搭建一個(gè)SpringBoot項(xiàng)目(純小白搭建教程)

    本文主要介紹了快速搭建一個(gè)SpringBoot項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Spring Cloud Zuul自定義過(guò)濾器的實(shí)現(xiàn)

    Spring Cloud Zuul自定義過(guò)濾器的實(shí)現(xiàn)

    這篇文章主要介紹了自定義Spring Cloud Zuul過(guò)濾器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • springboot3.x版本集成log4j沖突以及解決log4j沖突不生效問(wèn)題

    springboot3.x版本集成log4j沖突以及解決log4j沖突不生效問(wèn)題

    由于Spring Boot自帶的Logback與Log4j沖突,去除了Logback的jar包后仍存在,原因是其他包也引入了Logback,解決方法是找到并去除引入Logback的其他包,如actuator包,并更新Maven
    2024-11-11
  • 基于Redis分布式鎖Redisson及SpringBoot集成Redisson

    基于Redis分布式鎖Redisson及SpringBoot集成Redisson

    這篇文章主要介紹了基于Redis分布式鎖Redisson及SpringBoot集成Redisson,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小小伙伴可以參考一下
    2022-09-09
  • Java中InetAddress類的使用

    Java中InetAddress類的使用

    InetAddress類是Java中用于表示IP地址的類,本文就來(lái)介紹一下Java中InetAddress類的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • 解析ConcurrentHashMap: transfer方法源碼分析(難點(diǎn))

    解析ConcurrentHashMap: transfer方法源碼分析(難點(diǎn))

    ConcurrentHashMap是由Segment數(shù)組結(jié)構(gòu)和HashEntry數(shù)組結(jié)構(gòu)組成。Segment的結(jié)構(gòu)和HashMap類似,是一種數(shù)組和鏈表結(jié)構(gòu),今天給大家普及java面試常見(jiàn)問(wèn)題---ConcurrentHashMap知識(shí),一起看看吧
    2021-06-06

最新評(píng)論

星座| 南乐县| 瑞丽市| 光泽县| 高雄县| 临邑县| 景东| 温泉县| 屏东市| 县级市| 迭部县| 景东| 宜都市| 龙山县| 渭南市| 夹江县| 曲阳县| 湘潭市| 怀安县| 鸡西市| 商丘市| 黄陵县| 方正县| 南岸区| 清远市| 哈密市| 九龙县| 泰宁县| 麻栗坡县| 阿鲁科尔沁旗| 紫阳县| 北辰区| 北宁市| 淄博市| 郴州市| 内黄县| 泰来县| 新沂市| 岢岚县| 丘北县| 高邑县|