Как настроить Spring MVC для проверки параметров конструктора аргументов метода контроллера - PullRequest
0 голосов
/ 25 апреля 2018

Я пишу проект на 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 для проверки параметров конструктора?

1 Ответ

0 голосов
/ 13 мая 2018

Не так много вы можете сделать. Вы можете сделать его немного лучше, комбинируя аннотации для каждого поля, например ::100100

data class Credentials(@field:[Email NotBlank] val email: String,
                   @field:NotBlank val password: String)

Кроме этого, ваши единственные другие варианты:

  1. Настроенные вручную классы проверки Spring

  2. Проверка данных в теле вашего кода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...