C# `HttpClient`错误消息
我使用C# `HttpClient`错误消息,c#,asp.net-mvc,C#,Asp.net Mvc,我使用HttpClient从服务器的API获取响应 此API类似于: /api/images/{0} 其中,{0}是图像的名称。 图像名称只有三个可能的值,如{“绿色”、“红色”、“蓝色”} 我不知道当前存在哪些图像,因此我对所有三个图像进行API调用: /api/图像/绿色 /api/图像/红色 /api/图像/蓝色 HttpClient可能会返回许多错误消息,但我想特别说明一下: 响应状态代码不表示成功:404(未找到) 问题:是否可以仅使用404返回HttpClient错误消息 类包含
HttpClient
从服务器的API
获取响应
此API
类似于:
/api/images/{0}
其中,{0}
是图像的名称。图像名称只有三个可能的值,如
{“绿色”、“红色”、“蓝色”}
我不知道当前存在哪些图像,因此我对所有三个图像进行API
调用:
- /api/图像/绿色
- /api/图像/红色
- /api/图像/蓝色
HttpClient
可能会返回许多错误消息,但我想特别说明一下:
响应状态代码不表示成功:404(未找到)
问题:是否可以仅使用404
返回HttpClient
错误消息 类包含StatusCode
属性,所以为什么您不想这样处理它:
using (HttpClient client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(url);
switch (response.StatusCode)
{
case System.Net.HttpStatusCode.NotFound: { /* return here anything you want on 404 */ } break;
default: { /* default behavior */ } break;
}
}
类包含StatusCode
属性,所以为什么您不想这样处理它:
using (HttpClient client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(url);
switch (response.StatusCode)
{
case System.Net.HttpStatusCode.NotFound: { /* return here anything you want on 404 */ } break;
default: { /* default behavior */ } break;
}
}
响应对象将有一个StatusCode属性,可按如下方式访问:(注意StatusCode.OK=200)
响应对象将有一个StatusCode属性,可按如下方式访问:(注意StatusCode.OK=200)
或者它确实存在,但我找不到它?请显示您的
HttpClient
代码以及您希望它“返回”的内容。您可以检查响应的状态代码……或者它确实存在,但我找不到它?请显示您的HttpClient
代码以及要使其“返回”的内容。您可以检查响应的状态代码…没有理由在检查状态代码之前读取整个响应-在尝试读取响应正文之前应检查状态代码以避免不必要的工作没有理由在检查状态代码之前读取整个响应-状态代码应在检查之前进行检查尝试阅读响应正文以避免不必要的工作