Core data Restkit:将请求中的字段包含到对象映射中

Core data Restkit:将请求中的字段包含到对象映射中,core-data,restkit,rkobjectmapping,Core Data,Restkit,Rkobjectmapping,我现在正在做休息电话 GET /entities?parent=123 [ {id:1, name:"name 1"}, {id:2, name:"name 2"} ] 我的实体定义有以下字段 id name parent 问题是父字段没有出现在响应中,而是出现在请求中。如何将父字段从请求保存到coredata 我曾试图寻找这些东西,但运气不佳 我试着寻找一些可以在restkit处理之前转换响应的转换器,但找不到任何东西 我在RKObjectRequestOperation

我现在正在做休息电话

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

然后它就会工作。

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

@"@metadata.query.parameters.parent": @"parent"

你的意思是我可以在RKEntityMapping中使用这个?还有一件事。在我的例子中,参数不在查询字符串中,而是url的一部分,比如/entites/parent/123I,我一直在寻找关于这个的概念。从这个答案中得到了很好的提示,可以进一步探索。正在尝试查找有关元数据映射的文档。谢谢您的回答。如果您使用的是路径组件,那么您应该查看
RKRoute
让我深入了解一下。然后我会更新答案并接受它。谢谢