我是 RestKit 的新手,所以这个问题可能很愚蠢:当使用 [objectManager sendObject:...] 时,我如何告诉 RestKit 它应该使用哪个映射来处理结果?更具体地说:我将 GET 和 POST 数据发送到服务器,该服务器返回 JSON 编码消息:
{"purchaseresult":{"status":"ok","errormsg":""}}
我使用的 Objective-C 代码如下所示:
RKObjectMapping *purchaseResultMapping = [RKObjectMapping mappingForClass:[PurchaseResult class]];
[purchaseResultMapping mapKeyPathsToAttributes:@"status", @"status", @"errormsg", @"errorMessage",nil];
[objectManager.mappingProvider setMapping:purchaseResultMapping forKeyPath:@"purchaseresult"];
[[RKObjectManager sharedManager].mappingProvider setErrorMapping:purchaseResultMapping];
[objectManager sendObject:queryParams toResourcePath:@"/purchase/post" usingBlock:^(RKObjectLoader* loader) {
loader.method = RKRequestMethodPOST;
loader.resourcePath = @"/purchase/post";
loader.params = queryParams;
loader.objectMapping = purchaseResultMapping;
}];
这会返回一个 RestKit 错误:
restkit.network:RKObjectLoader.m:216 在映射过程中遇到错误:预期为“__NSDictionaryI”类型的类的对象映射,提供者为“PurchaseResult”返回一个
有什么想法我在这里做错了吗?
谢谢克里斯蒂安