OkHttpClient拦截器没有设置

时间:2016-10-07 13:07:39

标签: java retrofit2 okhttp3 okhttp

我在班上使用了一个注入的OkHttpClient对象。我正在使用方法注入在我的客户端对象上设置一些拦截器,如下所示:

@Inject
private OkHttpClient httpClient;

@Inject
void onPostInject() {
    httpClient
       .newBuilder()
       .addInterceptor(loggingInterceptor)
       .addInterceptor(httpClientInterceptor);
}

现在,如果我在onPostInject方法中放置断点并到达最后一个语句,我会看到interceptors对象中httpClient集合的大小为0.我的集成测试也失败了因为同样的原因。

1 个答案:

答案 0 :(得分:0)

我已从httpClient字段中删除了注入,并使用了一些不同的构建来使其工作:

private OkHttpClient httpClient;

@Inject
void onPostInject() {
    httpClient =
        new OkHttpClient.Builder()
        .addInterceptor(loggingInterceptor)
        .addInterceptor(httpClientInterceptor)
        .build();
}