2

私が開発している API では、カスタム HTTP ヘッダーで認証トークンを提示する必要があります。このトークンは数分ごとに期限切れになりますが、ユーザーがまだアプリ内にいて、アイドル状態が十分に続いている場合に発生する可能性があります。トークンの有効期限が切れると、403 応答を受け取りますが、要求を試みて初めてわかります。

RestKit に自動的に再認証させてリクエストを再試行させる最善の方法は何ですか? 同様の質問への回答で、RKRequestDelegate プロトコルまたは RKObjectLoaderDelegate プロトコルの使用が提案されましたが、残念ながら、これらは RestKit の一部ではなくなりました (0.20 以降)。

「正しい」アプローチが今どうあるべきか考えていますか? RKObjectManager をサブクラス化し、各リクエスト操作に再試行を追加する必要がありますか、またはカスタム HTTPOperation または HTTPClient クラスを提供する必要がありますか、それともより良いアプローチがありますか? ありがとう!

4

1 に答える 1

2

Failure ブロックでキャッチし、ステータス コードを確認して認証をやり直します

    RKObjectRequestOperation *requestOp = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[getObjResp]];

            [requestOp setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
                ....
                }
            } failure:^(RKObjectRequestOperation *operation, NSError *error){
// Here your status code check                
// Here your retry-code
                }
于 2013-01-11T06:25:47.750 に答える