当我的 Web 服务返回错误时,我想显示与响应一起发回的错误消息。我在 RestKit 中找不到任何方法。我尝试设置对象管理器的错误映射属性,并使用以下建议:
但这对我不起作用。一方面,RKErrorMessage 似乎不再存在。
任何帮助表示赞赏。
当我的 Web 服务返回错误时,我想显示与响应一起发回的错误消息。我在 RestKit 中找不到任何方法。我尝试设置对象管理器的错误映射属性,并使用以下建议:
但这对我不起作用。一方面,RKErrorMessage 似乎不再存在。
任何帮助表示赞赏。
试试这个用于 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];
在 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)]];