`HttpClient` 错误消息

Jac*_*cik 1 c# asp.net-mvc

我用来HttpClient从服务器获取响应API

API就像:

/api/图像/{0}

其中{0}是图像的名称。
图像名称只有三个可能的值,例如{"green", "red", "blue"}

我不知道当前存在哪些图像,因此我调用了API所有三个图像:

  • /api/图像/绿色
  • /api/图像/红色
  • /api/图像/蓝色

HttpClient可能会返回许多错误消息,但我想为以下情况做一个特例:

响应状态代码并不表示成功:404(未找到)。

问题:是否可以HttpClient仅使用 来返回(在本例中)错误消息404

teo*_*kot 5

HttpResponseMessage类包含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;
    }
}
Run Code Online (Sandbox Code Playgroud)