我有一个遵循Clean Architecture设计原则的项目,并提出了改造请求(在我的远程数据层中,由在本地和远程数据源之间切换的存储库层调用)。
一切都是最好的,但我的一个新功能是使我的Retrofit请求的baseUrl是动态的,基本url来自网络上的发现。一旦发现完成,所选择的源服务器url就被存储并且应该被使用,直到用户请求新的发现。
我已经看到我可以用不同的方式使baseUrl动态(使用OkHttp或@Url参数),但是我应该如何“干净”地将它一次性传递给我的远程类呢?它应该只存储在那里一次,还是应该在每次请求(uck)中传递?我是不是应该先组合用例来获取baseurl,然后针对每个请求(uck uck)将其传递给存储库?
我也在使用Dagger2,我的项目模糊地基于这个样板:https://github.com/bufferapp/android-clean-architecture-boilerplate
发布于 2018-10-19 21:23:04
您可以查看this库。它允许您直接在Retrofit中动态更改url。RetrofitUrlManager.getInstance().setGlobalDomain("your BaseUrl");
https://stackoverflow.com/questions/52296150
复制相似问题