我目前在为下一个应用程序计划架构(MVVM)和流程。
我希望用户点击“登录”按钮以从api获取令牌。然后使用令牌来授权一些api调用。
我想将令牌存储在AuthService
(单例)类中,但是要做到这一点,我必须将ApiService
(单例)注入AuthService
才能发出第一个登录请求。
然后,我需要从ApiService
注入的AuthService
中返回令牌,以便能够进行授权请求。问题是ApiService
和AuthService
彼此依赖(我想避免在AuthService
中创建另一个Volley实例只是为了一次性获得令牌请求-宁愿发出请求仅使用ApiService)。
问题是...我应该如何处理?解决这种问题的方法是什么? 任何提示非常感谢!
答案 0 :(得分:1)
您可以在依赖项注入树中拥有一个共享的首选项提供程序,并在其中有一个存储/检索用户令牌的方法。然后,您可以将共享首选项注入到您的存储库中,然后在您的存储库中,您将拥有ApiService,您可以将其从已注入的共享首选项实例传递令牌。