В настоящее время я создаю ASP Web API, и я выяснил, что если запросы выполняются с API, которые содержат пустые значения, я получаю «уродливые» исключения ошибок в ModelState что я не хочу показывать своим пользователям. Скажем, мое тело запроса выглядит следующим образом:ASP Web Api ModelState исключение, когда тип значения равен нулю
{ "Id": "", "Имя": "", "Описание": "", "Дата создания": "", "UserId": "" , "AmountOfUsers": "", "MinimumAmountOfUsers": "", "Адрес": "", "Активированный": "", "CategoryId": "", "Дата": ""}
Тогда я буду получать следующее ModelState исключение для Id:
Error converting value {null} to type 'System.Int32'. Path 'Id', line 1, position 9
То же GOE s для всех других типов значений.
У меня есть аннотация для [Required]
данных (с пользовательскими сообщениями об ошибках) для этих полей в моей модели, но это, похоже, не делает трюк.
Теперь я задаюсь вопросом, какое решение лучше всего решить. Все модели, которые пользователи отправляют/ставят, представляют собой модели просмотра, поэтому я думал о том, чтобы сделать все типы значений нулевыми, а затем отбросить их потом, когда я сопоставляю их с моделями баз данных. Я не уверен, есть ли лучшие решения, и поэтому я хотел бы услышать ваши мнения.
Check для [действительного состояния модели] (http://stackoverflow.com/questions/11686690/handle-modelstate-validation-in-asp-net -web-api) и вернуть соответствующий ответ. Когда вы получаете это исключение? Как выглядит модель модели? – Jasen