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

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

  • 使用XML构build错误,使用build.gradle中的java对象转换器依赖项进行改造
  • 如何在RetroFit中使用Gson转换器?
  • 改造不断地把我的cookies(Android
  • Android M + Retrofit + JSON:无法使字段构造函数可访问
  • 即使标题状态码是200,Retrofit也会调用failure()方法
  • Android OkHttp,刷新过期令牌
  • 用全局的rxjava处理networkingexception进行翻新
  • ProGuard不能使用okhttp
  • 改造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可能会导致竞争条件,如果两个请求不同的端点被同时触发。