【发布时间】:2018-04-25 07:23:45
【问题描述】:
我正在用 Kotlin 编写一个项目,并将它放在一个控制器中:
@PostMapping("/token")
fun generateToken(@RequestBody @Valid credentials: Credentials) { /* something */ }
data class Credentials(@Email @NotBlank val email: String,
@NotBlank val password: String)
默认情况下,@Valid 注释告诉 Spring 验证对象字段。但是 Kotlin 在构造函数参数上放置了约束注解,因此验证不起作用。为了使它工作,我必须为注释定义使用站点目标:
data class Credentials(@field:Email @field:NotBlank val email: String,
@field:NotBlank val password: String)
这很烦人并增加了视觉垃圾。是否可以配置 Spring 来验证构造函数参数?
【问题讨论】:
标签: spring validation kotlin