【问题标题】:Restkit metadata isn't mappingRestkit 元数据没有映射
【发布时间】:2016-01-20 15:31:20
【问题描述】:

我正在努力获得与元数据的正确映射...除了元数据 url 参数之外,所有内容都完美映射。

这是我的实体映射:

RKEntityMapping *statisticsMapping = [RKEntityMapping mappingForEntityForName:@"Statistics" inManagedObjectStore:managedObjectStore];
[statisticsMapping addAttributeMappingsFromArray:@[@"fromDate", @"toDate", @"visits", @"newVisits"]];
[statisticsMapping addAttributeMappingsFromDictionary:@{
                                                        @"@metadata.routing.parameters.randomId" : @"applicationRandomId"
                                                        }];
[statisticsMapping addConnectionForRelationship:@"application" connectedBy:@"applicationRandomId"];

响应描述符:

RKResponseDescriptor *ststResp = [RKResponseDescriptor responseDescriptorWithMapping:statisticsMapping
                                                                                        method:RKRequestMethodGET
                                                                                   pathPattern:@"api/apps/:randomId/statistics"
                                                                                       keyPath:@"details"
                                                                                   statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];

路由:

[objectManager.router.routeSet addRoute:[RKRoute routeWithClass:[Statistics class] pathPattern:@"api/apps/:randomId/statistics" method:RKRequestMethodGET]];

以及我如何获得它们:

NSString *url = [NSString stringWithFormat:@"/api/apps/%@/statistics",applicationRandomId];
NSMutableURLRequest *statistics = [[RKObjectManager sharedManager] requestWithObject:@"Statistics" method:RKRequestMethodGET path:url parameters:@{
                                                                                                                                                         @"fromDate" : @"01-01-2016",
                                                                                                                                                         @"toDate" : @"20-01-2016"
                                                                                                                                                         }];

RKObjectRequestOperation *operation = [[RKObjectManager sharedManager] managedObjectRequestOperationWithRequest:statistics managedObjectContext:[RKManagedObjectStore defaultStore].mainQueueManagedObjectContext success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {     

} failure:^(RKObjectRequestOperation *operation, NSError *error) {

}];

我还尝试混合各种 Routes 和 getObjectsAt 等...

问候,阿德里安。

【问题讨论】:

    标签: ios restkit


    【解决方案1】:

    解决方案:

    [objectManager.router.routeSet addRoute:[RKRoute routeWithName:@"statistics" pathPattern:@"api/apps/:randomId/statistics" method:RKRequestMethodGET]];
    
    [[RKObjectManager sharedManager] getObjectsAtPathForRouteNamed:@"statistics" object:@{@"randomId" : applicationRandomId} parameters:nil
                                                                                                         } success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
    
                                                                                                         } failure:^(RKObjectRequestOperation *operation, NSError *error) {
    
                                                                                                         }];
    

    呃不知道它是这样工作的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-06
      • 1970-01-01
      • 2013-03-04
      相关资源
      最近更新 更多