У меня есть приложение командной строки java, которое аутентифицируется с помощью внешней службы, используя поток устройств OAuth 2.0. Он выполняет различные вызовы REST для этой службы, но иногда срок действия маркера доступа истекает. Когда он истекает, я получаю код ответа 401. Я обработал этот код ответа, используя поток токенов refre sh, чтобы получить новый токен доступа, затем я рекурсивно вызываю ту же функцию еще раз, чтобы выполнить действие с новым токеном.
Это работает для меня, и я установил ограничения на повторные попытки, но это неправильно. Я не уверен, как я могу реализовать это как обычную функцию. Я копировал и вставлял одни и те же логи c по всему коду. Я пытался найти альтернативные подходы, но пока ничего не нашел. Есть предложения?