2014-09-24 46 views
1

在我的應用程序中,我使用Retrofit並通過Dagger在合適的位置傳遞一個ApiClient的實例。我讀過RestAdapter.Builder.build()adapter.create(Class class)非常昂貴。所以我將提供方法註釋爲@Singleton。改裝+匕首+不同端點

這裏是抽象代碼:

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

一切工作很大,但現在我需要幾個子域之間進行切換。即例如從http://subdomain1.domain.comhttp://subdomain2.domain.com

我可以在運行時更改端點嗎?或者我不應該在這種情況下,使用改造...

+0

爲什麼你需要使用子域名?也許最好有不同的路徑,而不是子域名。在子域的情況下,我想你需要創建不同的Retrofit服務。 – AlexKorovyansky 2014-09-24 17:56:11

回答

2

Endpoint類:

調用者應該隨時諮詢最新值的實例,而不是緩存返回的值。

這意味着你可以改變你從getUrl()在自己Endpoint實現類返回基於要連接到服務器上的值。