1.新建一个拦截器
import okhttp3.Interceptor
import okhttp3.Response
/**
* 拦截器
* 多个baseUrl 根域名下进行更换
* 给某个api接口添加headers("base_url:update" ),即取出base_url并且如果是update,就替换
*/
class BaseUrlInterceptor : Interceptor {
override fun intercept(chain: Interceptor.Chain): Response {
val request = chain.request()
val builder = request.newBuilder()
//这里的UriConstant.HEADERS_GIT和api请求中添加的header是一样的值
//UriConstant.HEADERS_GIT = "header_extend:detail"
val headers = request.headers(UriConstant.HEADERS_GIT.split(":")[0])
if (headers?.isNotEmpty() == true) {
if (UriConstant.HEADERS_GIT.split(":")[1] == headers[0]) {
builder.removeHeader(UriConstant.HEADERS_GIT.split(":")[0])
val oldUrl = request.url().toString()
//将baseUrl替换成http://api.com
builder.url(