Retrofit – 具有相同RestAdapter的多个端点

我想知道如何创build一个可以在两个端点之间切换的RestAdapter。 目前在我的应用程序中,RestAdapter是在Application类(单例)中创build的。 我正在寻找一种方法来实现不同的端点,而不需要实际创build多个RestAdapter。

Related of "Retrofit – 具有相同RestAdapter的多个端点"

改造1调用端点为每个请求(没有caching),你只需要扩展Retrofit.Endpoint与一些设置和传递这个端点,当你创buildRestAdapter:

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

可能的重复: 改造中的dynamicpath

每个请求都会调用端点。 如果你想打开一个algorithm,你可以实现自己的(例如,做循环)。 除此之外,一个RestAdapter绑定到一个Endpoint,你不能以每个方法或任何东西来控制它。 – 杰克·沃顿

所以我为我在应用程序中使用的不同端点创build了不同的rest适配器。

你可以有一个从terminal到RestAdapter的地图。 你会结束每个域的一个适配器。 如果你有很多端点,这不是一个好的解决scheme。

我相信上面的DynamicEndpoint解决scheme可能会导致竞争条件,如果两个请求不同的端点被同时触发。