【问题标题】:How to handle Null response in Retrofit?如何处理改造中的空响应?
【发布时间】:2018-03-29 13:28:44
【问题描述】:

我在很多地方都面临这个问题,因为我对在改造中处理 null 没有任何想法。

例如:

 1.  "name": "Deadpool 2 Trailer",
    "full_movie": "DEADPOOL_2_Teaser_Trailer__2018_.mp4",
    "story": "",
    "genre": null,
    "censor_rating": " ",
    "release_date": null,

2.     "name": "Den utrolige historie om den kæmpestore pære",
        "full_movie": "Den_utrolige_historie_om_den_k__mpestore_p__re.mp4",
        "story": "XYZ"
        "genre": [
            "Animation"
        ],
        "censor_rating": " ",
        "release_date": "2018-03-05",
        "content_types_id": "1",

如您所见,genre 在第一种情况下为 null,而在第二种情况下,它是数组类型。因为我的 pojo 课当然是在第二种类型上制作的。因此,当我从服务器获得第一种类型的响应时,我的应用程序会完全停止。调试卡在一个地方,没有任何反应。虽然应用程序没有崩溃。如何处理?

【问题讨论】:

  • 没有足够的信息来回答,请发布一些代码
  • 只想知道如何处理这个空响应?
  • 描述太差了。但我可以建议您对可能为空的字段使用@Nullable 注释。如果你想避免代码中的空检查,你可以在你的 getter 中提供一些默认值。

标签: android android-fragments retrofit


【解决方案1】:

您可以使用此代码检查键是否为空

if(jsonObject.isNull("genre"))
{
// handle null
}

【讨论】:

    【解决方案2】:

    当收到存储在您的 pojo 类中的响应时。 当设置数据时检查像

         if (!TextUtils.isEmpty(pojoclassObject.getStory())){
    
             }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 2020-06-17
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多