Рекомендации по возврату ошибок в веб-API ASP.NETC#

Место общения программистов C#
Ответить
Anonymous
 Рекомендации по возврату ошибок в веб-API ASP.NET

Сообщение Anonymous »

Меня беспокоит то, как мы возвращаем ошибки клиенту.

Мы возвращаем ошибку немедленно, вызывая исключение HttpResponseException при получении ошибки:

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

public void Post(Customer customer)
{
if (string.IsNullOrEmpty(customer.Name))
{
throw new HttpResponseException("Customer Name cannot be empty", HttpStatusCode.BadRequest)
}
if (customer.Accounts.Count == 0)
{
throw new HttpResponseException("Customer does not have any account", HttpStatusCode.BadRequest)
}
}
Или мы накапливаем все ошибки и отправляем их обратно клиенту:

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

public void Post(Customer customer)
{
List errors = new List();
if (string.IsNullOrEmpty(customer.Name))
{
errors.Add("Customer Name cannot be empty");
}
if (customer.Accounts.Count == 0)
{
errors.Add("Customer does not have any account");
}
var responseMessage = new HttpResponseMessage(errors, HttpStatusCode.BadRequest);
throw new HttpResponseException(responseMessage);
}
Это всего лишь пример кода, не имеет значения ни ошибки проверки, ни ошибка сервера, мне просто хотелось бы узнать лучшие практики, плюсы и минусы каждого подхода. .

Подробнее здесь: https://stackoverflow.com/questions/107 ... et-web-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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