У меня есть веб-API С#. У него есть контроллер, в котором есть метод POST. Класс модели, который я передаю, имеет некоторые аннотации данных (например, Required, MaxLength и т. д.).
Я вызываю его из клиента, используя RestSharp.
Каждый раз, когда возникает какая-то проблема, я просто получаю общее сообщение об ошибке на стороне клиента:
Не удалось преобразовать значение JSON в System.Collections.Generic.List`1[PDS.Core.Types.ResponseDtos.ErrorCode]....
Не будет проблемой, но на стороне сервера, когда я ставлю точку останова в методе, он не достигает точки останова. Итак, я предполагаю, что ошибка вызвана проверкой (или чем-то еще).
Итак, мой вопрос: как узнать, в чем проблема? Я не могу отладить код, так как он не достигает точки останова. Есть ли какой-нибудь перехватчик, который я могу установить на стороне сервера, чтобы я мог хотя бы увидеть какое-то сообщение об ошибке?
Спасибо
В зависимости от версии фреймворка ищите отключение автоматических ответов (400 BadRequest).
Как сообщение об ошибке, показывающее эту проблему с запросом ввода; Я не думаю, что нам нужно отлаживать эту проблему. Пожалуйста, проверьте, передает ли клиент входной запрос, как ожидалось. Если вы хотите отладить проблему на контроллере, вы можете использовать фильтр: SuppressModelStateInvalidFilter, как описано ниже.





Для контроллеров веб-API ASP.NET Core 2.1 или более поздней версии, использующих атрибут [ApiController], проверка состояния модели выполняется автоматически.
Чтобы отключить этот фильтр, добавьте это в ваш Program.cs:
builder.Services.Configure<ApiBehaviorOptions>(options =>
{
options.SuppressModelStateInvalidFilter = true;
});
Ссылка: https://learn.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-7.0
Возможно stackoverflow.com/questions/54557846/…