【问题标题】:Retrofit + Dagger + Different Endpoints改造+匕首+不同的端点
【发布时间】:2014-09-24 10:11:44
【问题描述】:

在我的应用程序中,我使用 Retrofit 并通过 Dagger 在适当的位置传递 ApiClient 的实例。我读过RestAdapter.Builder.build()adapter.create(Class class) 非常昂贵。所以我将提供方法注释为@Singleton。

这是抽象代码:

@Provides
@Singleton
ApiClient provideRestClient() {
  ...
  return adapter.create(ApiClient.class)
}

一切都很好,但现在我需要在几个子域之间切换。 IE。例如,从 http://subdomain1.domain.comhttp://subdomain2.domain.com

我可以在运行时更改端点吗?或者在这种情况下我不应该使用 Retrofit...

【问题讨论】:

  • 为什么需要使用子域?也许最好有不同的路径,而不是子域。如果是子域,我猜你需要创建不同的改造服务。

标签: android retrofit dagger


【解决方案1】:

根据Endpoint 类:

调用者应始终查询实例以获取最新值,而不是缓存返回的值。

这意味着您可以根据您希望连接的服务器,在您自己的Endpoint 实现类中更改从getUrl() 返回的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-02
    • 2021-10-10
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多