RestKit额外的数据作为回应

我正在使用RestKit将数据从我的api映射到CoreData实体,我不知道如何从响应中获得额外的数据。 例如我的api返回结构如:

{ "items": [ { "id": 1, "title": "Title" }, { "id": 2, "title": "Title 2" } ], "someParameter": "someValue" } 

我已经有了正确的映射共享对象pipe理器,所以我只是发送请求:

 [[RKObjectManager sharedManager] getObjectsAtPath:@"_api/items" parameters:parameters success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { //handle success } failure:^(RKObjectRequestOperation *operation, NSError *error) { //handle error }]; 

我怎样才能得到someParameter success块的someParameter值? 这可能吗?

你将需要稍微调整你的映射。 如果你改变它如下,你应该能够得到RESTkit来parsing你的“someParameter”属性。 你需要有两个class(家长和孩子)。

父类有2个属性(someParameter和一个Child对象数组)。 addRelationshipMappingWithSourceKeyPath是将Parent和Child对象映射关联在一起的东西。

码:

 RKObjectMapping *parentMapping = [RKObjectMapping mappingForClass:[Parent class]]; [beaconActionMapping addAttributeMappingsFromDictionary:@{ @"someParameter" : @"someParameter" }]; RKObjectMapping *childMapping = [RKObjectMapping mappingForClass:[Child class]]; [beaconMapping addAttributeMappingsFromDictionary:@{ @"id" : @"childId", @"title" : @"title" }]; [parentMapping addRelationshipMappingWithSourceKeyPath:@"items" mapping:childMapping]; 

class级层次:

 @interface Parent : NSObject @property(nonatomic,strong) NSString *someParameter; @property(nonatomic,strong) NSArray *items; // Array of Child objects @end @interface Child : NSObject @property(nonatomic,strong) NSString *childId; @property(nonatomic,strong) NSString *title @end 

您可以使用someParameter的键path添加附加的响应描述符。 你可以用一个nil键path映射来将string值提取到你select的对象(通常是一个自定义的类)中。