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

时间:2017-03-07 07:01:21

标签: 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文档,但没有明确的答案。

1 个答案:

答案 0 :(得分:3)

它不应该为空。

您可以看到in Retrofit source code仅返回Response.successReponse.error

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

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

如果存在空响应的场景,或者在解析响应时抛出了一些异常,则onFailure would be entered