RestKit:重新验证后如何重新提交失败的请求?

时间:2013-01-04 09:50:40

标签: ios restkit

我正在开发的API要求我在自定义HTTP标头中提供身份验证令牌。此令牌每隔几分钟到期,并且可能在用户仍在应用程序内时发生,只要他们已经闲置足够长时间。当令牌过期时,我收到403响应,但我只是在尝试请求后才知道。

让RestKit自动重新验证并重试请求的最佳方法是什么,所以我不必在我提出请求的任何地方放入这个逻辑?对类似问题的回应建议使用RKRequestDelegate协议或RKObjectLoaderDelegate协议,但不幸的是,这些不再是RestKit的一部分(截至0.20)。

知道现在的“正确”方法应该是什么?我应该继承RKObjectManager并重新尝试每个请求操作,还是应该提供自定义HTTPOperation或HTTPClient类,还是有更好的方法?谢谢!

1 个答案:

答案 0 :(得分:2)

在故障块中捕获它,并检查状态代码并重新进行身份验证

    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
                }