android - Retrofit2 onResponse 方法可以有空响应吗?

标签 android retrofit2

我正在使用 Retrofit 2.1.0 库,并使用 call.enqueue 方法进行异步 API 调用。

CallBack 类返回onResponse(Call call, Response response)onFailure (Call call, Throwable t)

我的问题是,假设 onResponse 方法中的 Response(不是 response.body)对象将始终为 NonNull 是否安全?

如果可以为null,可能的场景是什么?

我查看了在线和 Retrofit 文档,但没有明确的答案。

最佳答案

它不应该为空。

可以看到in Retrofit source code您只会得到 Response.successReponse.error 返回。

您可以使用 Response.isSuccessful() 检查 HTTP 请求是否成功。

如果 Response 可能为 null,则该方法将抛出 NullPointerException

如果出现空响应的情况,或者在解析响应时抛出某些异常,则 onFailure would be entered .

关于android - Retrofit2 onResponse 方法可以有空响应吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42642151/

相关文章:

android - 错误 :Cause: unable to find valid certification path to requested target

java - 当我给出查询时改造 Url 更改

java - Retrofit 2.0怎么删除?

android - 如何将自定义布局传递给 PopupMenu?

android - 使用 "id"作为来自 FragmentActivity 的 "startActivityForResult"的 requestCode

Android 2.2 屏幕锁定安全

android - Android NDK make 程序中的错误找不到

java - Retrofit无法从firebase数据库获取数据

android - 应用同步时出现奇怪的滞后

android - 使用 rxjava2 时出现 Retrofit2 Unauthenticated 401 错误