private RestAdapter getRestAdapter(){ GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(new TypeToken<HashMap<String, String>>(){}.getType(), new MyHashMapDeserializer()); RestAdapter.Builder builder = new RestAdapter.Builder(); builder.setClient(new OkClient()); builder.setLogLevel(RestAdapter.LogLevel.FULL); builder.setExecutors(Executors.newCachedThreadPool(), new MainThreadExecutor()); builder.setConverter(new GsonConverter(gsonBuilder.create())); builder.setEndpoint(API_END_POINT_URL); return builder.build(); }
public FullContactHttpInterface(Client httpClient, RateLimiterConfig rateLimiterConfig, String baseUrl, ExecutorService rateLimitExecutor, Executor httpExecutor) { ObjectMapper mapper = new ObjectMapper(); //Properties not present in the POJO are ignored instead of throwing exceptions mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); //An empty string ("") is interpreted as null mapper.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT); if(rateLimiterConfig == RateLimiterConfig.DISABLED) { requestHandler = new FCRequestHandler.NoRateLimitRequestHandler(); } else { requestHandler = new RequestExecutorHandler(rateLimiterConfig, rateLimitExecutor); } jsonConverter = new JacksonConverter(mapper); RestAdapter adapter = new RestAdapter.Builder().setEndpoint(baseUrl).setExecutors(httpExecutor, null) .setClient(httpClient).setConverter(jsonConverter).build(); fullContactApi = adapter.create(FullContactApi.class); this.baseUrl = baseUrl; }
.setRequestInterceptor(requestInterceptor) .setClient(new OkClient(mOkHttpClient)) .setExecutors(httpExecutor, new MainThreadExecutor()) .build(); mHatchetBackground = restAdapter.create(Hatchet.class);
@SuppressWarnings("unchecked") public BuilderClass withExecutors(Executor httpExecutor, Executor callbackExecutor) { restAdapterBuilder.setExecutors(httpExecutor, callbackExecutor); return (BuilderClass) this; }