【发布时间】:2019-09-17 07:49:56
【问题描述】:
有两种应用:
- Blazor 服务器端
- Web API(很久以前写的)
WebApi 操作
public async Task<object> GetAllAsync(...)
{
...
// Какая то проверка
throw new Exception("Что то пошло не так");
...
}
客户端应用程序(Blazor 服务器端)中方法的示例视图
public async Task GetAllAsync()
{
var httpClient = clientFactory.CreateClient();
var responseMessage = await httpClient.GetAsync($"{address}/api/foo");
if (responseMessage.IsSuccessStatusCode)
{
// successfully
}
else
{
// How to get the error message here?
}
}
}
问题是:如何正确处理来自 API 的此类错误?
ps
var exception = await responseMessage.Content.ReadAsAsync<HttpError>();
HttpError 使用 .NetFramework 4.6 提取依赖项(但最初我使用 .net core 3 预览版)
【问题讨论】:
-
您到底想要发生什么?你可以用
EnsureSuccessStatusCode()投掷。