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