Объект HttpError предоставляет согласованный способ возврата информации об ошибке в теле ответа.В базовом веб-API asp.net вы можете определить базовый класс ApiResponse, например:
public class ApiResponse
{
public int StatusCode { get; }
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public string Message { get; }
public ApiResponse(int statusCode, string message = null)
{
StatusCode = statusCode;
Message = message ?? GetDefaultMessageForStatusCode(statusCode);
}
private static string GetDefaultMessageForStatusCode(int statusCode)
{
switch (statusCode)
{
...
case 404:
return "Resource not found";
case 500:
return "An unhandled error occurred";
default:
return null;
}
}
}
Вы также можете получить этот класс для определения более конкретных предопределенных типов ошибок, см. this и эта статья для получения более подробной информации и примера кода.
Редактировать:
Начиная с версии 2.1, добавлена поддержка RFC 7807 - Сведения о проблеме для HTTP API как стандартизированный формат для возврата машиночитаемых сообщений об ошибках от HTTP API:
Ссылка: https://blogs.msdn.microsoft.com/webdev/2018/02/27/asp-net-core-2-1-web-apis/