はじめに
Androidの並列通信で401エラー時にトークン更新&再通信する処理について解説。
前提
通信時、Okhttp3を使用していること。
方法
401エラー検知方法
Authenticator.authenticate()
メソッドを使用することにより、401エラー時の処理が記述可能
並列通信時、トークン更新を1回だけにする
-
@Synchronized
アノテーションにより、他通信と同期させる -
リクエストしたトークンと現在のトークンを比較して、同じだったらトークン更新していないとみなし、トークン更新を行う。異なっていたらすでにトークン更新しているとみなし、再通信を行うようにする
コード
こちらに記載。
参考サイト
公式リファレンス: