Я пытаюсь выполнить частичное обновление модели с использованием библиотеки RestKit. Я уже могу создать/перечислить модели без проблем. Кроме того, я могу сортировать/списывать и обновлять с помощью Rest API и почтальона. Проблема возникает при обновлении с помощью RestKit.Объект RestKit Update отображает нулевые атрибуты
Это мое отображение:
RKObjectMapping *responseMapping = [RKObjectMapping mappingForClass:[UserProfile class]];
NSDictionary *resultsMappingDictionary = @{@"id": @"profileId",
@"username": @"username",
@"first_name": @"firstName",
@"last_name": @"lastName",
@"email": @"email",
@"description": @"job",
@"image": @"imgUrl",
@"auth_token": @"authToken"
};
responseMapping.assignsDefaultValueForMissingAttributes = NO;
[responseMapping addAttributeMappingsFromDictionary:resultsMappingDictionary];
return responseMapping;
Когда я выполнить обновление с помощью объекта UserProfile содержится только по электронной почте, с помощью метода
- (void)putObject:(id)object
path:(NSString *)path
parameters:(NSDictionary *)parameters
success:(void (^)(RKObjectRequestOperation *operation, RKMappingResult *mappingResult))success
failure:(void (^)(RKObjectRequestOperation *operation, NSError *error))failure
сталкиваюсь ошибку, идущий от сервера,
NSLocalizedRecoverySuggestion={"first_name":["This field may not be null."],"last_name":["This field may not be null."],"description":["This field may not be null."],"image":["This field may not be null."]
Я думаю, что RestKit отображает нуль для каждого свойства, которое равно нулю в модели. Я бы специально не собирался их сопоставлять, поэтому сервер не пытается обновлять любые нулевые значения.
Я пытался использовать
responseMapping.assignsDefaultValueForMissingAttributes = NO;
в отображении, но без каких-либо изменений в поведении.
Есть ли способ сказать RestKit просто игнорировать и не отображать какое-либо свойство, которое равно нулю?
PS: Я пробовал выполнить тот же вызов со всеми ненулевыми параметрами, и он обновляет модель без каких-либо проблем.