【发布时间】:2020-02-06 14:50:30
【问题描述】:
我有一个返回服务器列表的查询,用户可以选择他需要的服务器。
谷歌搜索没有帮助,几乎没有结果。
告诉我如何使用 Koin 和 Retrofit 实时实现基本的 URL 欺骗?
我的模块:
fun createMainModule(context: Context) = module {
single(named(APP_CONTEXT)) { context }
single(named(RESOURCES)) { context.resources }
single(named(REPOSITORY)) {
Repository(get(named(RETROFIT)))
}
}
fun createNetworkModule(baseUrl: String) = module(override = true) {
single(named(TOKEN_INTERCEPTOR)) { createTokenInterceptor(get(named(DATA_PROVIDER))) }
single(named(OK_HTTP)) { createOkHttpClient(get(named(TOKEN_INTERCEPTOR))) }
single(named(GSON)) { createGson() }
single(named(RETROFIT)) {
createRetrofit(
get(named(RESOURCES)),
get(named(LOG_OUT_SUBJECT)),
get(named(GSON)),
baseUrl,
get(named(OK_HTTP))
)
}
【问题讨论】:
-
最好的办法是编写一个 okhttp 拦截器并为每个请求更新 base_url。我也是这样做的
-
匕首 2 它不是 Koin
-
@sonnet 嗯,不错的选择
标签: java android kotlin retrofit koin