【发布时间】:2019-05-15 17:58:26
【问题描述】:
我是改造和 rxjava 的新手。我正在尝试使用这两个来实现一个非常常见的用例,但无法找到合适的操作员来做。用例 - 我正在调用 API 来检查我的访问令牌是否有效。如果它不再有效,我会得到 401 未经授权的异常,此时我想进行 API 调用以使用刷新令牌获取新的访问令牌。 注意 - 两个 API 请求的响应类型不同。
我如何使用改造和 rxjava 来实现这一点。
我尝试使用 flatMap、onErrorResume 来实现它,但无法找出最佳方法。
【问题讨论】:
-
嗨@Tuby 我尝试了解决方案。它在我的情况下不起作用,因为对于验证请求,我得到了 okhttp3.Response,而对于刷新令牌请求,我得到了自定义 LoginResponse,在其中我得到了新的 accesstoken 值。如果两个请求的响应相同,您提供的解决方案可以正常工作。您能否为此提出解决方法。
-
谢谢@Tuby 用你提供的解决方案玩了一下,问题现在已经解决了。
标签: android kotlin retrofit2 rx-java2