Dagger2与Retrofit:运行时添加身份验证头
用户登录成功并获取令牌后,如何利用Dagger2在Retrofit请求中动态添加身份验证头?本文探讨几种可行方案。
方案一:重新构建组件
获取令牌后,销毁提供Retrofit实例的组件,重新构建一个新组件,并请求新的Retrofit实例。此新实例将包含带有必要OkHttp拦截器的身份验证头。
方案二:读取SharedPreferences
在每次请求发起前,从SharedPreferences中读取令牌。若无令牌,则不添加身份验证头。
方案三:使用静态volatile字段
声明一个static volatile String类型的字段,用于存储令牌,并在每次请求时读取该
字段获取令牌。