【发布时间】:2020-06-22 22:11:03
【问题描述】:
您好,我正在尝试从一个特定的 api 调用中覆盖 baseUrl,当使用 @Url 作为 api 方法的参数时,它似乎不起作用。
下面是我的Api类方法
@POST
fun getUserDetails(@Body body: request, @Url authUrl : String): Single<Response<ResponseData>>
调用和发出请求的代码
private fun getApi(): Api {
val gson = GsonBuilder().setLenient().create()
val httpClient = myNetworkHelper.createHttpClient()
val retrofit = Retrofit.Builder()
.baseUrl("http://defaultBaseUrl")
.client(httpClient)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build()
return retrofit.create(Api::class.java)
}
override fun getUserDetails(someRequestData, "http://dynamic/getuserDetails): Single<Response<ResponseData>> {
return getApi().getUserDetails(body, url)
}
上面的结果是向这个url发出请求
http://defaultBaseUrl/http://dynamic/getuserDetails
代替:
http://dynamic/getuserDetails
【问题讨论】:
标签: android kotlin network-programming retrofit2 restful-architecture