Tôi đang sử dụng dòng mã sau đây để thêm một tiêu đề mặc định cho tất cả các yêu cầu của tôi được gửi bằng Retrofit2:OkHttpClient ném ngoại lệ sau khi nâng cấp lên OkHttp3
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);
}
});
}
Sau khi nâng cấp trang bị thêm lên phiên bản beta 3, tôi đã có để nâng cấp OkHttp lên OkHttp3 (thực ra tôi chỉ đổi tên gói từ okhttp thành okhttp3, thư viện được bao gồm trong trang bị thêm). Sau đó tôi nhận được ngoại lệ từ dòng này:
defaultHttpClient.networkInterceptors().add(new Interceptor());
Nguyên nhân: java.lang.UnsupportedOperationException tại java.util.Collections $ UnmodifiableCollection.add (Collections.java:932)
Nguyên nhân: java.lang.ExceptionInInitializerError
Sự cố ở đây là gì?
OK tuyệt vời! Cảm ơn! –
Cảm ơn giải pháp rõ ràng – bheatcoker
Có. nó hoạt động tốt. cảm ơn cho giải pháp hoàn hảo. –