调用 API returns 404 AND JSON 数据

Calling an API returns a 404 AND JSON data

我正在使用 "GET" 方法调用 API 来搜索信用咨询机构以获取公司信息...

    var feed = "";
    WebRequest.ContentType = "application/json";
    HttpWebResponse response;

    try
    {
        response = (HttpWebResponse)WebRequest.GetResponse();

        using (response)
        using (var responseStream = response.GetResponseStream())
        {
            feed = new StreamReader(responseStream).ReadToEnd();
        }
        return feed;
    }
    catch (HttpResponseException ex)
    {
        Console.WriteLine(ex.InnerException);
        return "ERROR";
    }

    catch (WebException ex)
    {
        var webResponse = ex.Response as HttpWebResponse;
        throw new HttpResponseException(webResponse.StatusCode);
    }

行...

response = (HttpWebResponse)WebRequest.GetResponse();

... 抛出异常,例如 404 如果我正在呼叫的 API 没有找到与任何公司匹配的详细信息。当我通过 Postman 调用 API 时,我得到状态 404 :-

但是,在结果正文中(在 Postman 中)也有一些 JSON。

我需要处理异常并获取 JSON 进行解析,并根据返回的消息采取行动。

如何获取 Postman 收到的 JSON,以便我可以正确处理它?

检查catch块中的异常代码,检查是否为404(HttpStatusCode.NotFound),并将结果与​​StreamReader一起使用。

应该是这样的:

try {
    response = (HttpWebResponse)WebRequest.GetResponse();
    // etc
}
catch(WebException ex)
{
    var webResponseCode = (ex.Response as HttpWebResponse)?.StatusCode;
    if (webResponseCode == HttpStatusCode.NotFound) {
        var resp = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd();
    } 
}