Рекомендации по возврату описаний ошибок или кодов ошибок в потоке проверкиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Рекомендации по возврату описаний ошибок или кодов ошибок в потоке проверки

Сообщение Anonymous »

В настоящее время я использую библиотеку ErrorOr вместе с MediaR в своем проекте. Я хочу реализовать логику проверки в команде, и у меня есть несколько вопросов о лучших методах возврата ошибок.
Вот логика проверки, которую я хочу получить:
< ol>
[*]Если условие 1 истинно, вернуть код состояния HTTP 203.
[*]Если условие 1 ложно, проверьте условие 3:
[*] Если условие 3 истинно, вернуть код состояния HTTP 200.
[*]В противном случае верните код состояния HTTP 500.

Вот соответствующий код:
Обработчик команд

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

public sealed class InsertCommandHandler : IRequestHandler
{
private readonly IRepo _repo;

public InsertCommandHandler(IRepo repo)
{
_repo= repo?? throw new ArgumentNullException(nameof(repo));
}

public async Task Handle(InsertCommandrequest, CancellationToken cancellationToken)
{
var IsItemExistsOrError = await repo
.IsItemExistsAsync(...., cancellationToken).ConfigureAwait(false);
// Unsure whether to return description or code
if (IsItemExistsOrError is { IsError: false, Value: false }) return Error.Validation(description: @$"....")

if (IsItemExistsOrError .IsError) return IsItemExistsOrError .Errors;

return await _repo.InsertItemAsync(....).ConfigureAwait(false);
}
}
подпись InsertItemAsync

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

 Task InsertItemAsync();
Веб-API:

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

[HttpPost("...")]
public async Task InsertItemAsync(Request request)
{
var command = new InsertItemCommand(...  );

var result = await Mediator.Send(command);
if (result.IsError)
{
// TODO : i don't know if it's better to check with description or the code ?
if (result.FirstError.Code.Equals("203")) return Results.StatusCode(203);

return Results.BadRequest();
}
return Results.Ok();
}
Мои вопросы:
  • Лучше ли использовать Error.Validation(description: ...) или Error. Проверка (код: ...) для возврата ошибок в таком сценарии?
  • При обработке ошибки в веб-API следует ли мне проверять код или описание, чтобы принять решение по HTTP-ответу ?
Есть ли лучшие практики или шаблоны, которым следует следовать при обработке ошибок в таком потоке проверки?

Подробнее здесь: https://stackoverflow.com/questions/792 ... lidation-f
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Рекомендации по возврату описаний ошибок или кодов ошибок в потоке проверки
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Рекомендации по возврату ошибок в веб-API ASP.NET
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Рекомендации по приему и возврату различных универсальных типов
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Рекомендации по приему и возврату различных универсальных типов
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Есть ли какая-нибудь библиотека для IQR-кодов (не QR-кодов)? [закрыто]
    Anonymous » » в форуме Android
    0 Ответы
    47 Просмотры
    Последнее сообщение Anonymous

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