Kotlin & Spring boot 使用@Valid校验无效解决方法
kotlin data (对应Java实体类
1 |
|
再来看controller
1 |
|
调用put方法,@Valid
校验无效
原因分析:
在 java 中,将 validation 注解到实体类属性或者 get/set 方法上,但是在 kotlin 中,属性直接写在构造函数中,validation 注解并没有作用到属性上。
解决方法:
使用
@field:
标识符,field
标识符只允许在属性的访问器函数内使用。它能够 validation 校验注解作用与属性。
将 kotlin data class 稍作修改:
1 |
|
之后,@Valid
校验即可正常工作
再次执行
1 | curl -v http://localhost:8080/user/put11 |
@Valid
正常工作
1 | { |
- 本文链接: https://acehjm.github.io/2017/04/12/Kotlin-Spring-boot-使用-Valid校验无效解决方法/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!