我正在打电话休息
GET /entities?parent=123
[
{id:1, name:"name 1"},
{id:2, name:"name 2"}
]
我的实体定义有以下字段
id
name
parent
问题是父字段没有出现在响应中,它在请求中。如何将请求中的父字段保存到 coredata?
我试图搜索这些东西没有运气。
- 我尝试寻找一些可以在restkit处理之前转换响应但找不到任何东西的转换器。
- 我在 RKObjectRequestOperation 中看到了元数据映射,但无法弄清楚是否/如何使用它。
谢谢
编辑
下面提供的答案仅在与对象管理器一起使用时才有效。所以以下工作
RKDynamicMapping *learningObjectMapping = [MTAbstractLearningObject map];//this contains metadata mapping for @metadata.routing.parameters.entityId
RKResponseDescriptor* learningObjRd = [RKResponseDescriptor responseDescriptorWithMapping:learningObjectMapping
method:RKRequestMethodGET pathPattern:@"entity/:entityId" keyPath:@"objects"
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[self.objectManager addResponseDescriptor:learningObjRd];
[self.objectManager.router.routeSet addRoute:[RKRoute routeWithName:@"learningObjects" pathPattern:@"entity/:id" method:RKRequestMethodGET]];
如果对象管理器如上所示构造,并且请求如下所示。
[self.objectManager getObjectsAtPathForRouteNamed:@"learningObjects" object:entity parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
NSLog(@"API: Success got learning objects");
}failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"API: Failed to get learning objects");
}];
然后它将起作用。