Динамическая модификация baseurl от открытия в чистой архитектуре - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть проект, следуя принципам проектирования Чистой архитектуры, и делающий запросы на модернизацию (на моем удаленном уровне данных, называемом уровнем хранилища, который переключается между локальным и удаленным источниками данных).

Все было к лучшему,но одна из моих новых функций - сделать baseUrl моих запросов на модификацию динамическим, а базовый URL-адрес будет получен при обнаружении по сети.Как только обнаружение выполнено, выбранный URL исходного сервера сохраняется и должен использоваться до тех пор, пока пользователь не запросит новое обнаружение.

Я видел, что я могу сделать динамический baseUrl различными способами (используяOkHttp или параметр @Url), но как мне "аккуратно" передать его раз и навсегда моему удаленному классу?Должно ли оно даже храниться там один раз или должно передаваться в каждом запросе (uck)?Должен ли я объединить Usecases, чтобы сначала получить свой baseurl, а затем передать его в хранилище для каждого запроса (uck uck)?

Я также использую Dagger2, и мой проект смутно основан на этом шаблоне: https://github.com/bufferapp/android-clean-architecture-boilerplate

1 Ответ

0 голосов
/ 19 октября 2018

Вы можете посмотреть эту библиотеку.Это позволяет динамически изменять URL-адрес непосредственно в Retrofit.RetrofitUrlManager.getInstance().setGlobalDomain("your BaseUrl");

...