2015-01-12 2 views
0

Я пытаюсь опубликовать объект (Прогулка) на моем сервере.Отправить multipart с restkit 0.23.3: отображение ответа пуста

[[RKObjectManager sharedManager] postObject:walk path:urlPath 
           parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { 
            NSLog(@"It Worked: %@", mappingResult); 

            if(mappingResult.count==0) { 
             [self alertStatus:@"Error" :@"Erreur" :0]; 
             return; 
            }... 

Проблема в том, что mappingResult всегда пуст.

В журнале у меня есть следующие:

Ответ:

restkit.object_mapping:RKMapperOperation.m:320 Examining keyPath '<null>' for mappable content... 
2015-01-11 22:49:56.250 XXXX restkit.object_mapping:RKMapperOperation.m:300 Found mappable data at keyPath '<null>': { 
    errors = "<null>"; 
    message = success; 
    reason = "<null>"; 
    result = "<null>"; 
    status = SUCCESS; 
} 
2015-01-11 22:49:56.251 XXXX D restkit.object_mapping:RKMapperOperation.m:403 Finished performing object mapping. Results: { 
} 
2015-01-11 22:49:56.255 XXXX T restkit.network:RKObjectRequestOperation.m:218 POST 'http://XXXX' (200 OK/0 objects) [request=2.0944s mapping=0.0100s total=2.1111s]: 
response.headers={ 
    "Cache-Control" = "no-cache, no-store"; 
    Connection = "Keep-Alive"; 
    "Content-Type" = "application/json"; 
    Date = "Sun, 11 Jan 2015 21:48:28 GMT"; 
    Expires = "Thu, 01 Jan 1970 00:00:00 GMT"; 
    "Keep-Alive" = "timeout=15, max=99"; 
    Pragma = "no-cache"; 
    "Transfer-Encoding" = Identity; 
} 
response.body={"status":"SUCCESS","message":"success","reason":null,"result":null,"errors":null} 
2015-01-11 22:49:56.258 XXXX It Worked: <RKMappingResult: 0x1685b750, results={ 
     }> 

Я добавил этот responseDescriptor:

RKResponseDescriptor * descriptor = [RKResponseDescriptor responseDescriptorWithMapping:[ResponseModel defineResponseRequestMapping] 
              method:RKRequestMethodPOST 
             pathPattern:nil 
              keyPath:nil 
             statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]; 
[[RKObjectManager sharedManager] addResponseDescriptor:descriptor]; 

Я попытался с различными pathPattern, но это не работает. Отображение:

RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[ResponseModel class]]; 

[mapping addAttributeMappingsFromDictionary:@{ 
               @"status": @"status", 
               @"reason": @"reason", 
               @"message": @"message", 
               @"errors": @"errors", 
               @"result": @"result" 

               }]; 

Любой человек может помочь мне, почему мой mappingResult всегда пусто, даже через меня нет ошибки от Restkit?

Большое спасибо за помощь!

+0

Это журнал следа? Если нет, включите уровень трассировки. Я не вижу очевидной проблемы в том, что вы опубликовали. Покажите определение класса со свойствами. – Wain

ответ

0

Благодарим за сообщение. Я нашел решение по этой ссылке: RestKit POST response with wrong mapping.

RestKit использует то же отображение для ответа, что и для запроса. Вы должны заставить его.

Спасибо

Смежные вопросы