升级到OkHttp3后,OkHttpClient抛出异常。
升级到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
问题在哪里?