1

我正在打电话休息

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");
}];

然后它将起作用。

4

1 回答 1

1

您可以使用元数据,它包含您可以访问的查询参数字典。您的映射将包含

@"@metadata.query.parameters.parent": @"parent"
于 2015-06-12T15:06:47.183 回答