【发布时间】:2021-08-19 07:29:22
【问题描述】:
我有一个 id,我应该将它添加到每个 url 的路径中,这是我通过拦截器完成的。
val newRequest = chain.request().newBuilder()
newRequest.url(chain.request().url.toString() + "/" + id)
return chain.proceed(newRequest.build())
带有查询参数的第一个端点出现问题。所以有了这段代码,我得到了
MY_BASE_URL?query_param_1=value1&query_param_2=value2/ID
但应该是的
MY_BASE_URL/ID?query_param_1=value1&query_param_2=value2
有什么好办法解决这个问题吗?
附言
有一个 hacky 解决方案,但希望有更好的解决方案。
newRequest.url(chain.request().url.toString().replace("?", "/" + userId.toString() + "?", true))
【问题讨论】:
标签: android retrofit okhttp interceptor