改造处理令牌过期
Retrofit handling token expiration
我现在正在使用 Retrofit 从服务器匹配数据。
问题是我需要每 1 小时调用 API 获取新令牌,到目前为止,我 运行 后台服务在 1 小时到期前获取新令牌,以防万一 API 由于令牌过期导致响应失败我调用了 API 令牌,然后再次调用该方法。
我的问题:改造中是否有内置方式来处理令牌过期?
或类似的东西。
Retrofit 是为了帮助您处理您需要的请求。它不处理令牌过期。这意味着,您需要自己处理。例如,在您的请求错误处理中,您可以检查 401 错误未授权(这通常是服务器在令牌过期时发送的错误)。发生这种情况时,保留失败的请求并发送另一个请求以获取新令牌。新请求成功完成后,您的令牌将被刷新,您可以使用新获取的令牌重试初始失败的请求。
我认为您可以使用 OkHttp 拦截器捕获任何请求的 401 Unauthorized,然后刷新您的令牌并重试您的请求。
https://futurestud.io/tutorials/retrofit-2-catch-server-errors-globally-with-response-interceptor
全局错误处理程序:OkHttp 拦截器
我现在正在使用 Retrofit 从服务器匹配数据。 问题是我需要每 1 小时调用 API 获取新令牌,到目前为止,我 运行 后台服务在 1 小时到期前获取新令牌,以防万一 API 由于令牌过期导致响应失败我调用了 API 令牌,然后再次调用该方法。
我的问题:改造中是否有内置方式来处理令牌过期? 或类似的东西。
Retrofit 是为了帮助您处理您需要的请求。它不处理令牌过期。这意味着,您需要自己处理。例如,在您的请求错误处理中,您可以检查 401 错误未授权(这通常是服务器在令牌过期时发送的错误)。发生这种情况时,保留失败的请求并发送另一个请求以获取新令牌。新请求成功完成后,您的令牌将被刷新,您可以使用新获取的令牌重试初始失败的请求。
我认为您可以使用 OkHttp 拦截器捕获任何请求的 401 Unauthorized,然后刷新您的令牌并重试您的请求。
https://futurestud.io/tutorials/retrofit-2-catch-server-errors-globally-with-response-interceptor
全局错误处理程序:OkHttp 拦截器