我有一个实体:
class SomeInfo(
@NotNull @Pattern(regexp = Constraints.EMAIL_REGEX) var value: String) {
var id: Long? = null
}
Run Code Online (Sandbox Code Playgroud)
和控制器方法:
@RequestMapping(value = "/some-info", method = RequestMethod.POST)
public Id create(@Valid @RequestBody SomeInfo someInfo) {
...
}
Run Code Online (Sandbox Code Playgroud)
@Valid 注释不起作用.
看起来Spring需要一个默认的无参数构造函数,而上面的花哨代码变得像这样丑陋(但工作):
class SomeInfo() {
constructor(value: String) {
this.value = value
}
@NotNull @Pattern(regexp = Constraints.EMAIL_REGEX)
lateinit var value: String
var id: Long? = null
}
Run Code Online (Sandbox Code Playgroud)
有什么好的做法让它不那么罗嗦?
谢谢.