用okhttp改变baseurl

时间:2017-09-25 05:50:41

标签: java okhttp

最近,当我计划重写矿山公司计划时。我使用RxJava + OkHttp + Retrofit。但我有一个问题。

  1. 我们的应用程序只有一个访问接口,可以为所有模块提供基地址。格式如下。
  2. enter image description here

    1. 我的目的是用拦截器动态替换baseurl,代码如下:
    2. enter image description here

      这是我的代码,但我发现了一个问题,转换后的网址变为: www.xxapi.com:80/authorize/login/{#version code}(这是错误的)。

      这是错误的。这个版本字段应该在基地址后面。正确的URL如下: www.xxapi.com:80/{#version code}/authorize/login(这是对的)。

      我尝试了很多方法,但我无法更改版本字段的位置。

      我真的不知道该怎么做,对不起。

1 个答案:

答案 0 :(得分:0)

通过拨打addPathSegment(version)来取代对setPathSegment(0, version)的通话。

https://square.github.io/okhttp/3.x/okhttp/okhttp3/HttpUrl.Builder.html#setPathSegment-int-java.lang.String-