Дооснащение – несколько конечных точек с одним и тем же адаптером RestAdapter

Я хотел бы знать, как создать RestAdapter, который может переключаться между двумя конечными точками. В настоящее время в моем приложении RestAdapter создается в классе Application (singleton). Я ищу способ иметь разные конечные точки, фактически не создавая несколько RestAdapter.

Retrofit 1 вызывает конечную точку для каждого запроса (без кеша), вам просто нужно расширить Retrofit.Endpoint с некоторым сеттером и передать эту конечную точку при создании RestAdapter:

Endpoint mDynamicEndpoint = new DynamicEndpoint("http://firstdomain.fr"); RestAdapter restAdapter = new RestAdapter.Builder() .setEndpoint(mDynamicEndpoint) .build(); mDynamicEndpoint.setBaseUrl("http://yourdomain.com"); 

Возможный дубликат: динамические пути в дооснащении

Конечная точка вызывается для каждого запроса. Если вы хотите включить алгоритм, вы можете реализовать свои собственные (например, делать круговое вращение). Помимо этого, один RestAdapter привязан к конечной точке, вы не можете управлять им на основе каждого метода или чего-либо еще. – Джейк Уортон

Поэтому я создал различные адаптеры для отдыха для разных конечных точек, которые я использую в своем приложении.

У вас может быть карта с конечной точки на RestAdapter. У вас будет один адаптер для каждого домена. Не отличное решение, если у вас много конечных точек.

Я считаю, что решение DynamicEndpoint выше может привести к условиям гонки, если одновременно будут выпущены два запроса на разные конечные точки.

Intereting Posts