Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多个改装适配器_Java_Retrofit_Okhttp - Fatal编程技术网

Java 多个改装适配器

Java 多个改装适配器,java,retrofit,okhttp,Java,Retrofit,Okhttp,我有许多端点,其中一些端点必须有不同的ErrorHandlers&RequestInterceptors。在回答中(一个改造的开发者)说重新适应应该被视为一个单例。在同一篇文章中,另一位作者说,单例映射用于实现特定于端点的请求拦截器 为了确保在使用OkHttp时所有重新适配器使用相同的连接池,我在所有适配器之间共享我的OkHttpClients,如下所示 OkHttpClient okHttpClient = new OkHttpClient(); okHttpClient.setConnect

我有许多端点,其中一些端点必须有不同的
ErrorHandler
s&
RequestInterceptor
s。在回答中(一个
改造
的开发者)说
重新适应
应该被视为一个单例。在同一篇文章中,另一位作者说,单例映射用于实现特定于端点的
请求拦截器

为了确保在使用
OkHttp
时所有
重新适配器使用相同的连接池,我在所有适配器之间共享我的
OkHttpClient
s,如下所示

OkHttpClient okHttpClient = new OkHttpClient();
okHttpClient.setConnectTimeout(10000, TimeUnit.MILLISECONDS);
okHttpClient.setReadTimeout(10000, TimeUnit.MILLISECONDS);

OkClient okClient = new OkClient(okHttpClient);

RestAdapter restAdapter1 = new RestAdapter.Builder()
        .setClient(okClient)
        .setLogLevel(RestAdapter.LogLevel.FULL)
        .setEndpoint("http://example.com/)
        .setErrorHandler(ErrHandlerFactory.get(Endpoint1.class))
        .setRequestInterceptor(ReqInterceptorFactory.get(Endpoint1.class))
        .build();

RestAdapter restAdapter2 = new RestAdapter.Builder()
        .setClient(okClient)
        .setLogLevel(RestAdapter.LogLevel.FULL)
        .setEndpoint("http://example.com/)
        .setErrorHandler(ErrHandlerFactory.get(Endpoint2.class))
        .setRequestInterceptor(ReqInterceptorFactory.get(Endpoint2.class))
        .build();
其中
Endpoint1
Endpoint2
是更新注释后面的
接口。构建重新适配器然后用于进一步的api调用。这是进行端点特定操作的最佳方式还是我遗漏了什么