簡體   English   中英

c#HttpWebRequest 404,對象不完整列表返回null

[英]c# HttpWebRequest 404, return null on object not entire List

我有一個從Api鏈接檢索Json值的代碼。 它反序列化並作為對象存儲在列表中。 然后,此列表中的ID值用於從其他Api鏈接中檢索其他Json值。 只有這些ID才有可能在第二個Api鏈接中不存在。 如果是這種情況,顯示的所有內容都是{"text":"no such id"} ,程序崩潰並顯示404錯誤。

這是代碼:

public RootObject objFromApi_idExistListings(string url)
        {

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            try
            {
                WebResponse response = request.GetResponse();
                using (Stream responseStream = response.GetResponseStream())
                {
                    StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
                    var jsonReader = new JsonTextReader(reader);
                    var serializer = new JsonSerializer();
                    return serializer.Deserialize<RootObject>(jsonReader);
                }
            }
            catch (WebException)
            {
                return null;
            }
        }

命中404時,它將返回所有null。 不僅該單個Api請求然后繼續,而且沒有整個列表返回空值。

我該如何解決,只能使該對象返回null,其他所有操作都會繼續。 或者,如果代碼可以繼續運行並反序列化所有必須通過的左側Api鏈接,則不必跳過該對象的整個過程,而不必返回404。

如果有404響應(或200以外的任何響應),則可以使用類似的方法來紓困。

try
{
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    if (response.StatusCode != System.Net.HttpStatusCode.OK) return null;
    //Continue by getting and parsing the response stream

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM