欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Kotlin + Spring Boot 请求参数验证的代码实例

程序员文章站 2024-02-13 11:08:28
编写 web 应用程序的时候,经常要做的事就是要对前端传回的数据进行简单的验证,比如是否非空、字符长度是否满足要求,邮箱格式是否正确等等。在 spring boot 中,可...

编写 web 应用程序的时候,经常要做的事就是要对前端传回的数据进行简单的验证,比如是否非空、字符长度是否满足要求,邮箱格式是否正确等等。在 spring boot 中,可以使用 bean validation (jsr-303) 技术通过注解的方式来进行参数验证。

准备 dto 对象

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

/**
 * 用户注册接口
 */
@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 就会自动的验证参数的正确性。

来个测试

把用户名空着

Kotlin + Spring Boot 请求参数验证的代码实例

参数完整且正确

Kotlin + Spring Boot 请求参数验证的代码实例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。