RestKit:请求失败时获取HTTP状态代码

时间:2011-11-21 21:25:05

标签: iphone ios http restkit

我在iOS应用中使用RestKit,我需要对某些HTTP错误代码进行特殊处理。如何在request:didFailLoadWithError:内检查响应HTTP状态代码? userInfo的{​​{1}}字典中是否有一些条目?

我在RKRequestDelegate documentation找不到任何内容。

这是委托方法的接口:

NSError

3 个答案:

答案 0 :(得分:52)

对于使用新版RESTkit和objectManager的人,您可以从RKObjectRequestOperation获取状态代码:

operation.HTTPRequestOperation.response.statusCode

答案 1 :(得分:3)

事实证明,不会因为HTTP错误而调用didFailLoadWithError:。仍然会针对HTTP错误调用request:didLoadResponse:方法,因此响应(以及状态代码)可用。

答案 2 :(得分:1)

statusCode上找到的RKResponse属性对我有用:

- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error 
{
    switch ([[objectLoader response] statusCode]) {
        case 409:
    ...

}