再会。
问题的本质是这样的:有一个 C# WPF 桌面应用程序,通过 HttpClient 与用 NestJS 编写的服务器进行交互。
异常处理存在一个问题,即 HttpClient 替换了它自己的文本,而不是来自服务器的错误文本,这不适合我。正确返回错误状态码。
向服务器发送http请求的部分函数代码:
try
{
var queryString = "?id=" + userID;
HttpResponseMessage response = await api.GetAsync("user/" + queryString);
response.EnsureSuccessStatusCode();
user = await response.Content.ReadFromJsonAsync<IUser>();
}
catch (HttpRequestException ex)
{
Console.WriteLine(ex.Message);
}
从服务器发送的错误对象是什么样的:
{
"statusCode": 404,
"message": "По Вашему запросу ничего не найдено"
}
用户在应用程序中收到什么错误文本:
Response status code does not indicate success: 404 (Not Found).
粗略地说,消息字段中的文本被替换为对用户没有任何意义的普通模板文本。
请告诉我,是否有可能以某种方式绕过 HttpClient 模板文本从服务器获取错误文本?
