У меня есть проект, который, как вы можете представить, похож на приложение Facebook, и мне сложно понять, как организовать его с помощью RestKit и обрабатывать токены, поскольку я новичок в RestKit.
Вот что у меня получилось:
- Базовые классы данных NSManagedObject, для каждого из них я добавил категорию REST, в которой есть функции для предоставления RKObjectMapping и RKRouteSet
- настраиваемый подкласс RKObjectManager, который обрабатывает настройку заголовков, типов MIME, настройку заголовков авторизации и хранилищ основных данных
- Подкласс RKObjectRequestOperation
Если у вас есть организационный совет, но мой главный вопрос заключается в том, как реализовать автоматическое обновление токена после получения кода состояния HTTP 401 и повторной отправки неудавшегося запроса с новым токеном?
Я начал с переопределения метода в моем подклассе RKObjectRequestOperation:
- (void)setCompletionBlockWithSuccess:(void ( ^ ) ( RKObjectRequestOperation *operation , RKMappingResult *mappingResult ))success
failure:(void ( ^ ) ( RKObjectRequestOperation *operation , NSError *error ))failure
Итак, теперь я могу перехватить ответ 401, но теперь мне нужно сделать еще один вызов, чтобы обновить токен, а затем повторно поставить в очередь неудачную операцию с новым токеном, посоветуйте, пожалуйста, как это сделать.