Я пытаюсь отправить объект на сервер (запрос 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];