如何解决OkHttp 中的 Android CLEAN MVVM 和身份验证器
所以我的 Clean MVVM 实现有问题。我试图在身份验证器中实现刷新令牌。我认为将我的用例注入到我的身份验证器中可能是个好主意,但我得到了:
错误:[Dagger/DependencyCycle] 发现依赖循环:
因为:
OkHttpClient -> Authenticator -> UseCase -> DataSource -> DataSourceImpl -> Repository -> RepositoryImpl -> API -> 使用 OkHttpClient 进行改造
知道如何正确实施吗?
我的身份验证器代码:
@Singleton
class TokenAuthenticator @Inject constructor(
private val preferencesManager: PreferencesManager,private val refreshUseCase: RefreshUseCase
) : Authenticator {
@Throws(IOException::class)
override fun authenticate(route: Route?,response: Response): Request? {
val token = refreshUseCase(RefreshTokenBody(preferencesManager.refreshToken))
if (token.accessToken != "-" && token.refreshToken != "-") {
preferencesManager.accessToken = token.accessToken
preferencesManager.refreshToken = token.refreshToken
return response.request.newBuilder()
.header("x-access-token",token.accessToken)
.build()
}
return null
}
}
注意:我使用的是 Dagger HILT
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。