私は同じBaseUrlでAPIを呼び出す必要があるシナリオがあります。 www.myAPI.com
であるが、異なっている。baseUrl
。Retrofit - BaseUrlを変更
私はBuilder
を経由して構築されてRetrofit 2
のインスタンスを持っている:
return new Retrofit.Builder().baseUrl(FlavourConstants.BASE_URL).addConverterFactory(GsonConverterFactory.create(gson)).client(okHttpClient).build();
FlavourConstants.BASE_URL
は次のようになります。いくつかのWebRequests
については
public static final String BASE_URL = "http://myApi.development:5000/api/v1/";
、私は同じことを呼び出す必要がありますAPIを使用していますが、別のものでは全く別のBaseUrl
から呼び出す必要があります。したがって、実行時にRetrofit
インスタンスを別のURLを指すように変更するにはどうすればよいですか?
Retrofit
インスタンスには.setBaseUrl
またはsetter
など、Builder
で構築されたものと似ていないものがあります。
アイデア? url
文字列を使用したいの完全なURLを指定する必要があり
public interface UserManager {
@GET
public Call<ResponseBody> userName(@Url String url);
}
:あなたはレトロフィット用
あなたがすでに述べたように、 'Retrofit'インスタンスは一種の変更不可能なものです(ビルダーが何を意味するものなのか)。したがって、設定したい別のURLの別のインスタンスを作成する必要があります。 – asgs