Как проверить RequestBody с пустыми полями, когда все свойства являются пустыми / нулевыми значениями - PullRequest
0 голосов
/ 14 января 2020

Я хотел бы знать, есть ли лучший способ, чем выписывать чек в начале метода.

Этот вопрос основан на следующем коде:

Класс Pojo:

data class PojoX(val name: String?, val city: String?)

Контроллер:

@PatchMapping("/demo")
fun update(@RequestBody request: PojoX): PojoDTO{

    if (request.name == null && request.city == null) {
        throw ResponseStatusException(HttpStatus.BAD_REQUEST, "Atleast one field should be filled")
    }

    // Do somthing if atleast one field is filled...
}

Я хочу, чтобы код был легко поддерживается без добавления новой проверки при добавлении нового свойства в класс запроса.

Есть ли в Spring аннотация, которая может проверить, все ли поля пусты?

1 Ответ

0 голосов
/ 14 января 2020

Вам нужно написать собственный валидатор, который будет действителен только в том случае, если хотя бы одно из полей не равно нулю (т. Е. Инкапсулирует вашу текущую проверку в валидатор, а затем использовать аннотацию @Valid.

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