首页 > 解决方案 > Blazor Web API 响应处理

问题描述

我正在开发一个使用 HttpClient 使用 ASP.Net Core Web API 的 Blazor 应用程序。下面是调用服务的样子:

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);
}

Web 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);
         }
     }

现在,如果 Web API 抛出异常,或者出现授权错误。如何在调用服务中处理它并向用户显示错误消息。

标签: c#asp.net-web-apiasp.net-core-webapiblazor-server-side

解决方案


推荐阅读