先导入依赖:
// RetrofitUrlManager
implementation 'me.jessyan:retrofit-url-manager:1.4.0'
平常的网络配置:
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
.connectTimeout(10,TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.readTimeout(10,TimeUnit.SECONDS)
.retryOnConnectionFailure(false)
.build();
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create(new Gson()))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(okHttpClient)
.baseUrl(BaseUrl.EDU_URL)
.build();
api = retrofit.create(Api.class);
动态配置baseUrl(就需要改这点):
OkHttpClient okHttpClient = RetrofitUrlManager.getInstance()
.with(new OkHttpClient.Builder())
OkHttpClient okHttpClient = RetrofitUrlManager.getInstance()
.with(new OkHttpClient.Builder())
.addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
.connectTimeout(10,TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.readTimeout(10,TimeUnit.SECONDS)
.retryOnConnectionFailure(false)
.build();
Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create(new Gson()))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(okHttpClient)
.baseUrl(BaseUrl.EDU_URL)
.build();
api = retrofit.create(Api.class);
在activity或fragment里:
RetrofitUrlManager.getInstance().setGlobalDomain("你想要配置的baseUrl");