Как вернуть 400 или 422 в зависимости от результата проверки модели?C#

Место общения программистов C#
Anonymous
Как вернуть 400 или 422 в зависимости от результата проверки модели?

Сообщение Anonymous »

Я пишу API, который проверяет полезную нагрузку, отправленную пользователем. Допустим, API получает атрибут почтового индекса "zipCode".
Я хочу, чтобы валидатор модели возвращал 400, когда почтовый индекс имеет недопустимый формат, и возвращал 422, когда почтовый индекс не входит в диапазон допустимых почтовых индексов.
Из того, что я видел, валидатор по умолчанию возвращает 400 в случае каких-либо ошибок, и я могу переопределить это с помощью apiBehaviorOptions, чтобы изменить его на 422. Но я хочу, чтобы он возвращал оба значения в зависимости от ошибки.
Полезная нагрузка поступает через тело контроллера следующим образом:

Код: Выделить всё

public async Task ProcessRequest([FromBody] MyRequest request)
Возможно ли это?

Подробнее здесь: https://stackoverflow.com/questions/783 ... ion-result

Вернуться в «C#»