1

当我的 Web 服务返回错误时,我想显示与响应一起发回的错误消息。我在 RestKit 中找不到任何方法。我尝试设置对象管理器的错误映射属性,并使用以下建议:

来自服务器的 Restkit json 错误响应消息

但这对我不起作用。一方面,RKErrorMessage 似乎不再存在。

任何帮助表示赞赏。

4

2 回答 2

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];
于 2013-11-27T09:58:27.267 回答
0

在 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)]];
于 2012-12-18T00:39:16.530 回答