我有一个项目遵循干净的体系结构设计原则,并提出修改请求(在我的远程数据层中,由在本地和远程数据源之间切换的存储库层调用)。
一切都是为了最好,但我的一个新功能是使我的更新请求的base url动态化,这个baseurl来自于网络上的一个发现。 一旦发现完成,所选的源服务器URL将被存储并应使用,直到用户请求新的发现为止。
我已经看到可以用不同的方式使baseurl动态化(使用okhttp或@url参数),但是我应该如何“干净地”将其一次性传递给我的远程类呢?它是应该存储在那里一次,还是应该在每个请求中传递? 我应该组合用例,首先获取我的baseurl,然后为每个请求将其传递到存储库(uck-uck)吗?
我也在使用Dagger2,我的项目模糊地基于这个样板: https://github.com/bufferapp/android-clean-architecture-boilerplate
你可以看看 this 图书馆。它允许您在动态更新中直接更改URL。 RetrofitUrlManager.getInstance().setGlobalDomain("your BaseUrl");
RetrofitUrlManager.getInstance().setGlobalDomain("your BaseUrl");