如何在使用 RxJava2 和 Retrofit2 时访问响应 headers?
How do I access response headers while using RxJava2 and Retrofit2?
前提
我正在开发一个简单的应用程序,我想在其中列出 RecyclerView 中用户的 GitHub 存储库。我在构建它时使用 this 作为我的端点。
问题
我面临的问题是 GitHub API returns 一次只有 30 个回购。要获得更多,我可以将 per_page=100
(100 是最大值)附加到我的查询字符串; 但是,我们对超过100个回购的用户怎么办?
API docs 提供的解决方案是从 "Link" 响应 header 中获取 next;
url 以进行第二个API 打电话。
如何解决这个问题?谢谢!
Response
class 将让您访问 headers。 GitHub 客户端会有这样的方法:
@GET("/search/code")
Observable<Response<T>> getUser(...)
在 onNext()
中,你会做这样的事情:
@Override
public void onNext(Response<T> response) {
String next = response.headers().get("next");
}
前提
我正在开发一个简单的应用程序,我想在其中列出 RecyclerView 中用户的 GitHub 存储库。我在构建它时使用 this 作为我的端点。
问题
我面临的问题是 GitHub API returns 一次只有 30 个回购。要获得更多,我可以将 per_page=100
(100 是最大值)附加到我的查询字符串; 但是,我们对超过100个回购的用户怎么办?
API docs 提供的解决方案是从 "Link" 响应 header 中获取 next;
url 以进行第二个API 打电话。
如何解决这个问题?谢谢!
Response
class 将让您访问 headers。 GitHub 客户端会有这样的方法:
@GET("/search/code")
Observable<Response<T>> getUser(...)
在 onNext()
中,你会做这样的事情:
@Override
public void onNext(Response<T> response) {
String next = response.headers().get("next");
}