RestKit 0.20 Игнорировать putObject: сопоставление

Я пытаюсь отправить объект на сервер (запрос PUT) без сопоставления, потому что у меня уже есть все, что мне нужно, от сервера. Обратный вызов напрямую завершается ошибкой, даже если сервер успешно создал объект.

Вот пример того, что я делаю:

- (void) PUTsuccess:(void (^)(RKObjectRequestOperation *operation, RKMappingResult *mappingResult))success
             failure:(void (^)(RKObjectRequestOperation *operation, NSError *error))failure
{
    RKObjectManager *objectManager = [YSManager objectManager];
    [objectManager putObject:self path:[kPutPath stringByAppendingString:self.id] parameters:kAPIDefaultParameters success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
            NSLog(@"operation.HTTPRequestOperation.request.HTTPBody: %@", [[NSString alloc] initWithData:operation.HTTPRequestOperation.request.HTTPBody encoding:NSUTF8StringEncoding]);
            if (success) {
                success(operation, mappingResult);
            }
        }
        failure:^(RKObjectRequestOperation *operation, NSError *error) {
            NSLog(@"Failure! Error: %@", error.localizedDescription);
        if (failure) {
            failure(operation, error);
        }
    }];
}

Создан ответ сервера 201, и я могу найти свой объект на сервере, так что все хорошо, но, тем не менее, обратный вызов напрямую вызывает сбой, потому что он пытается сопоставить мой объект, ошибка в обратном вызове отказа:

Error: No response descriptors match the response loaded.

Большое спасибо, любое предложение будет оценено!

Обновление 1 Добавлено сопоставление словаря:

RKObjectMapping *idMapping = [RKObjectMapping requestMapping];
    [idMapping addAttributeMappingsFromArray:@[]];
    RKResponseDescriptor *responseDescriptorID = [RKResponseDescriptor responseDescriptorWithMapping:idMapping
                                                                                       pathPattern:[kRequestPath stringByAppendingString:@":code"]
                                                                                           keyPath:@"objects"
                                                                                       statusCodes:statusCodes];

person Peter Willemsen    schedule 07.05.2013    source источник
comment
Попробуйте использовать keyPath:nil и дважды проверьте pathPattern.   -  person Roger    schedule 08.05.2013


Ответы (1)


Определите дескриптор ответа просто для сопоставления ответа (или его части) с NSDictionary.

person Wain    schedule 07.05.2013
comment
Хорошо, теперь я сделал это, но теперь я получаю сообщение об ошибке: Ошибка: не найдено представлений отображаемых объектов на найденных ключевых путях. См. вопрос для исходного кода. - person Peter Willemsen; 08.05.2013
comment
Похоже, что шаблон пути правильный, но ключевой путь дескриптора неверен. Какой ответ JSON? - person Wain; 08.05.2013
comment
Спасибо! В этом была проблема. Глупый я работаю допоздна, я думаю... Еще раз спасибо! - person Peter Willemsen; 08.05.2013