Ich habe ein Szenario, wo ich eine API mit der gleichen BaseUrl, z. www.myAPI.com
aber mit einer anderen baseUrl
.Retrofit - Change BaseUrl
Ich habe eine Instanz von Retrofit 2
, die über eine Builder
gebaut:
return new Retrofit.Builder().baseUrl(FlavourConstants.BASE_URL).addConverterFactory(GsonConverterFactory.create(gson)).client(okHttpClient).build();
Die FlavourConstants.BASE_URL
sieht wie folgt aus:
public static final String BASE_URL = "http://myApi.development:5000/api/v1/";
Für einige WebRequests
, muss ich die gleiche nennen API aber auf anderen muss ich es von einem ganz anderen BaseUrl
nennen. Wie ändere ich die Retrofit
-Instanz, um während der Laufzeit auf eine andere URL zu zeigen?
Die Retrofit
Instanz keine .setBaseUrl
oder setter
oder etwas ähnliches, wie es über ein Builder
gebaut ist.
Irgendwelche Ideen?
Wie Sie bereits erwähnt haben, ist die 'Retrofit'-Instanz eine Art unveränderlich (Art von was Builder für sind). Sie müssen also eine andere Instanz für die andere URL erstellen, die Sie festlegen möchten. – asgs