使用RxJava2和Retrofit2时如何访问响应头?

时间:2017-09-23 22:50:12

标签: android retrofit2 github-api rx-java2 clean-architecture

前提

我正在开发一个简单的应用程序,我想在RecyclerView中列出用户的GitHub存储库。我在构建时使用this作为我的端点。

问题

我面临的问题是GitHub API一次只返回30个repos。为了获得更多,我可以在我的查询字符串中添加per_page=100(最多100个); ,我们如何处理超过100个回购的用户?

API docs提供的解决方案是从“链接”响应标头获取next;网址以进行第二次API调用。

如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:6)

Response课程可让您访问标题。 GitHub客户端的方法如下:

@GET("/search/code")
Observable<Response<T>> getUser(...)

onNext()内,您可以执行以下操作:

@Override
public void onNext(Response<T> response) {
    String next = response.headers().get("next");
}