Retrofit 动态改变BaseUrl

最近项目有关需求,需要app在调用不同模块时,发起不同url的请求。经过查找资料发现可以通过retrofit的拦截器解决。

一.在网络请求接口中添加@Headers

在网络请求接口中添加@Headers({"url_name:xxx"})。

Retrofit 动态改变BaseUrl

对于retrofit网络请求参数的注解,可以查看Retrofit注解

二.自定义ChangeUrlInterceptor拦截器

Retrofit 动态改变BaseUrl

在拦截器中通过获取url_name来确定要调用哪个url。

三.addInterceptor

Retrofit 动态改变BaseUrl

四.调用

正常的网络调用即可。

demo地址