Как подтверждено , ProblemDetails
(на основе спецификации RFC 7807) - это стандартный ответ для клиентских кодов ошибок в ASP.NET Core 2.2.Это прекрасно работает, когда я возвращаю такие вещи, как NotFound()
в методах действия моего контроллера API.
Но как мне настроить мой проект Web API, чтобы он также использовал ProblemDetails
для необработанных исключений (ответы «500 Internal Server Error»))?По умолчанию такие необработанные исключения либо возвращают тело HTML (когда был вызван UseDeveloperExceptionPage()
или UseExceptionHandler(somePath)
), либо тело нет (если не был вызван ни один метод).
Мое предпочтительное решение всегда будет возвращать объект ProblemDetails
когда исключение происходит в контроллерах API, но все же возвращает HTML-страницы для исключений на других (связанных с просмотром) контроллерах.В режиме разработки объект ProblemDetails
должен иметь полную информацию об исключении, в производстве - только очень ограниченную информацию.Это возможно?