kotlin and @Valid Spring annotation

前端 未结 4 983
陌清茗
陌清茗 2020-12-13 18:21

I have an entity:

class SomeInfo(
        @NotNull @Pattern(regexp = Constraints.EMAIL_REGEX) var value: String) {
    var id: Long? = null
}
4条回答
  •  既然无缘
    2020-12-13 18:51

    If you use IntelliJ to convert Java to Kotlin, the @Valid annotation in the Spring Controller method may eventually be attached to the type, instead of the variable. This would break the validation.

    For example, the convertion could result in

    @PostMapping
    public Id create(@RequestBody someInfo: @Valid SomeInfo) {
        ...
    }
    

    This is not validating. The @Valid has to be moved to a variable like this:

    @PostMapping
    public Id create(@RequestBody @Valid someInfo: SomeInfo) {
        ...
    }
    

提交回复
热议问题