我有用于所有请求的查询参数。如下所示将其添加到基本网址中
private val baseUrl = HttpUrl.Builder()
.scheme("http")
.host("ws.audioscrobbler.com")
.addPathSegment("2.0")
.addPathSegment("")
.addQueryParameter("format", "json")
.addQueryParameter("api_key", "val")
.build()
retrofit = Retrofit.Builder()
.baseUrl(baseUrl)
.client(okHttpClient)
.build()
api服务调用是
@GET("./")
fun searchTracks(@Query("otherParam") query: String): Call<Any>
在进行实际调用之前,URL已正确构建。它将删除添加在基本url中的查询参数,并仅保留在服务调用中添加的查询参数。
在调试中显示,直到在delegate.enqueue()
中调用ExecutorCallAdapterFactory
:“ http://ws.audioscrobbler.com/2.0/?format=json&api_key=val&otherParam=val”
显示在日志中(通过拦截器):“ http://ws.audioscrobbler.com/2.0/?otherParam=val”
您知道为什么会发生这种情况以及如何保留参数吗?
答案 0 :(得分:0)
您应将查询参数添加到请求拦截器中的url。
hdfs namenode -format