Я работаю над приложением 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 выдает исключение или возникает ошибка авторизации. Как мне обработать это в моей вызывающей службе и показать пользователю сообщение об ошибке.