我正在使用 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.success
或 Reponse.error
返回。
您可以使用 Response.isSuccessful()
检查 HTTP 请求是否成功。
如果 Response
可能为 null,则该方法将抛出 NullPointerException
。
如果出现空响应的情况,或者在解析响应时抛出某些异常,则 onFailure
would be entered .
关于android - Retrofit2 onResponse 方法可以有空响应吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42642151/