升级到OkHttp3后,OkHttpClient抛出异常。

8 浏览
0 Comments

升级到OkHttp3后,OkHttpClient抛出异常。

我使用以下代码行来为使用Retrofit2发送的所有请求添加一个默认的头部:

private static OkHttpClient defaultHttpClient = new OkHttpClient();
static {
    defaultHttpClient.networkInterceptors().add(new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException {
            Request request = chain.request().newBuilder()
                    .addHeader("Accept", "Application/JSON").build();
            return chain.proceed(request);
        }
    });
}

在将Retrofit升级到beta-3版本后,我必须将OkHttp也升级到OkHttp3(实际上我只是将包名从okhttp改为okhttp3,该库已包含在Retrofit中)。之后,我在这行代码上遇到了异常:

defaultHttpClient.networkInterceptors().add(new Interceptor());

Caused by: java.lang.UnsupportedOperationException

at java.util.Collections$UnmodifiableCollection.add(Collections.java:932)


Caused by: java.lang.ExceptionInInitializerError


问题在哪里?

0