Выбор ответа Middle Сеть: Retrofit и OkHttp спрашивают часто обновлено

Где обновлять токен при 401

Вопрос

Какой механизм OkHttp предназначен для обновления токена при ответе 401?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Authenticator: вызывается при 401 и повторяет запрос. Authenticator.authenticate OkHttp вызывает, когда сервер ответил 401 (или 407 для прокси).

Варианты ответа

  1. HttpLoggingInterceptor с уровнем HEADERS
  2. CookieJar, который сохраняет новый токен
  3. Dispatcher с повтором упавших запросов
  4. Authenticator: вызывается при 401 и повторяет запросправильный ответ

Разбор

Authenticator.authenticate OkHttp вызывает, когда сервер ответил 401 (или 407 для прокси). Он может обновить токен и вернуть повторный запрос, или вернуть null, чтобы прекратить попытки. Важно ограничить число повторов и синхронизировать обновление при параллельных запросах. Логгер, cookies и диспетчер к этому не относятся.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.