Обработка ответов веб-API Blazor - PullRequest
0 голосов
/ 29 мая 2020

Я работаю над приложением Blazor, которое использует ASP. Net Core Web API с использованием HttpClient. Вот как выглядит вызывающая служба:

public async Task<IEnumerable<TEntity>> GetAllAsync()
{
      return await httpClient.GetJsonAsync<TEntity[]>(APIUrl);
}

public async Task<TEntity> AddAsync(TEntity entity)
{
      return await httpClient.PostJsonAsync<TEntity>(APIUrl, entity);
}

А веб-API выглядит как

    [HttpGet]
    public async Task<ActionResult> Get()
    {
        try
        {
            return Ok(await repository.GetAllAsync());
        }
        catch (Exception ex)
        {
            return StatusCode(StatusCodes.Status500InternalServerError,ex);
        }
    }

    [HttpPost]
    public async Task<ActionResult<TEntity>> Post(TEntity entity)
    {
         try
         {
            var result = await repository.AddAsync(entity);
            return CreatedAtAction(nameof(Get), result.Id, result);
         }
         catch (Exception ex)
         {
            return StatusCode(StatusCodes.Status500InternalServerError, ex);
         }
     }

Теперь, если веб-API выдает исключение или возникает ошибка авторизации. Как мне обработать это в моей вызывающей службе и показать пользователю сообщение об ошибке.

...