从 Restkit 获取错误描述
Posted
技术标签:
【中文标题】从 Restkit 获取错误描述【英文标题】:Getting Error Descriptions From Restkit 【发布时间】:2012-11-22 09:56:12 【问题描述】:当我的 Web 服务返回错误时,我想显示与响应一起发回的错误消息。我在 RestKit 中找不到任何方法。我尝试设置对象管理器的错误映射属性,并使用以下建议:
Restkit json error response msg from server
但这对我不起作用。一方面,RKErrorMessage 似乎不再存在。
任何帮助表示赞赏。
【问题讨论】:
【参考方案1】:在 RestKit 上试试这个~> 0.22.0
// Setup error mapping
RKObjectMapping *errorMapping = [RKObjectMapping mappingForClass:[RKErrorMessage class]];
[errorMapping addPropertyMapping: [RKAttributeMapping attributeMappingFromKeyPath:@"errorDescription" toKeyPath:@"errorMessage"]];
RKResponseDescriptor *errorResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:errorMapping
method:RKRequestMethodAny
pathPattern:nil
keyPath:nil
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassClientError)];
[[RKObjectManager sharedManager] addResponseDescriptor:errorResponseDescriptor];
【讨论】:
【参考方案2】:在 v.20 中,您必须做两件事:
首先,导入 RKErrorMessage.h 文件:
#import <RestKit/RKErrorMessage.h>
然后,将错误映射添加到您的 objectManager:
RKObjectMapping *errorMapping = [RKObjectMapping mappingForClass:[RKErrorMessage class]]; [errorMapping addPropertyMapping:[RKAttributeMapping attributeMappingFromKeyPath:@"error" toKeyPath:@"errorMessage"]]; [objectManager addResponseDescriptor:[RKResponseDescriptor responseDescriptorWithMapping:errorMapping pathPattern:nil keyPath:@"error" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassClientError)]];
【讨论】:
以上是关于从 Restkit 获取错误描述的主要内容,如果未能解决你的问题,请参考以下文章
使用 RestKit 0.2 从 CoreData 获取本地数据
在 RestKit 中使用 RKObjectManager 从 CoreData 获取