主要思路是请求url时加个请求头,然后在拦截器里通过本次请求的请求头来判断使用对应的baseUrl。
主要代码
import com.xxx.xxx.MyClient;
import java.io.IOException;
import java.util.List;
import okhttp3.HttpUrl;
import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;
public class MulBaseUrlInterceptor implements Interceptor {
public MulBaseUrlInterceptor() {
}
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
//获取处理后的新newRequest
Request newRequest;
//获取老的url
HttpUrl oldUrl = request.url();
//获取originalRequest的创建者builder
Request.Builder builder = request.newBuilder();
// 获取头信息的集合
List<String> urlTypeList = request.headers(MyClient.URL_TYPE_KEY