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

网友投稿 436 2023-04-24


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

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

准备 DTO 对象

data class UserRegisterModel(

@get: NotEmpty(mCEXyqHPbessage = "User name is required")

@get: Size(message = "Length of user name must be between 6 and 20", min = 6, max = 20)

CEXyqHPb 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 就会自动的验证参数的正确性。

来个测试

把用户名空着

参数完整且正确


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于postman 接口测试 dubbo的信息
下一篇:浅谈foreach写失效的问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~