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调用。这是进行端点特定操作的最佳方式还是我遗漏了什么