c# - 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 抛出异常,或者出现授权错误。如何在调用服务中处理它并向用户显示错误消息。
解决方案
推荐阅读
- exception - DDD,CQRS,EventSourcing 中错误的不连贯事件流中的逻辑异常?
- javascript - Webpack 4 不会在没有 babel-preset-es2015 的情况下创建 CSS 文件
- docker - 在容器名称上使用 glob / 通配符运行 docker 命令
- c# - 如何删除除一个之外的所有控件?
- css - 为什么不 justify-content: 拉伸工作?
- python - 遗传算法学习最适合指数函数
- java - 在 DataInputStream 中检测 STX 和 ETX
- python - 张量流数据集管道中每个时期的随机变换参数
- javascript - 如何通过 Div ID 更改 Div 样式
- bash - pdfgrep:搜索中间有空格的序列(在mac上)