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 许可协议。转载请注明出处!