我创建了一个单独的服务生成器类,如本指南所示https://futurestud.io/tutorials/retrofit-2-manage-request-headers-in-okhttp-interceptor
ApiServiceGenerator.java
public class ApiServiceGenerator {
private static final String BASE_URL = "http://192.168.0.205/hadia/api/";
private static Retrofit.Builder builder =
new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create());
private static Retrofit retrofit = builder.build();
private static OkHttpClient.Builder httpClient =
new OkHttpClient.Builder();
public static <S> S createService(
Class<S> serviceClass) {
return retrofit.create(serviceClass);
}
}
Run Code Online (Sandbox Code Playgroud)
我需要为每个请求添加一个授权标头,如何使用这个静态 createService 方法来做到这一点?
以下是如何创建一个拦截器来为每个请求添加标头
httpClient.addInterceptor(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();
// Request customization: add request headers
Request.Builder requestBuilder = original.newBuilder()
.header("Authorization", "auth-value"); // …Run Code Online (Sandbox Code Playgroud) 我需要向包含帖子列表和帖子总数的密钥的端点发出获取请求。
{
posts: [{}, {}, {}, ...],
total: 1000
}
Run Code Online (Sandbox Code Playgroud)
请求的偏移键决定返回的帖子数量。
// request
https://postBalzer.com/posts?offset=0&limit=50
Run Code Online (Sandbox Code Playgroud)
此请求返回 0 - 50 之间的帖子 如何使调用递归,直到使用 Angular HttpClientModule 获取所有帖子。
在这种情况下如何使用 Expand rxjs 运算符?