Rénovation - Changement BaseUrl

J'ai un scénario où je dois appeler une API avec le même BaseUrl, par exemple www.myAPI.com, mais avec un autre baseUrl.

J'ai une instance de Retrofit 2 qui est construit par l'intermédiaire d'un Builder:

return new Retrofit.Builder().baseUrl(FlavourConstants.BASE_URL).addConverterFactory(GsonConverterFactory.create(gson)).client(okHttpClient).build();

La FlavourConstants.BASE_URL ressemble à ceci:

public static final String BASE_URL = "http://myApi.development:5000/api/v1/";

Pour certains WebRequests, je dois appeler la même API, mais sur les autres je dois l'appeler à partir d'un de complètement différent BaseUrl. Comment puis-je changer la Retrofit exemple donc de pointer vers une URL différente au cours de l'exécution?

La Retrofit instance ne dispose pas d'un .setBaseUrl ou setter ou quelque chose de similaire comme il est construit par l'intermédiaire d'un Builder.

Des idées?

  • comme vous l'avez déjà mentionné, le Retrofit instance est une sorte de immuable (du genre de ce que les Constructeurs sont conçus pour). Donc, vous auriez besoin de créer une autre instance de l'autre URL que vous souhaitez définir.
InformationsquelleAutor Subby | 2016-08-06