我的实现不发送参数。这是请求描述符:
RKObjectMapping *userMapping = [RKObjectMapping requestMapping];
[userMapping addAttributeMappingsFromArray:@[@"nombres", @"telefono", @"direccion", @"email", @"identificacion", @"tipo_id", @"recibir_sms_ordenes", @"recibir_correos_ordenes"]];
RKRequestDescriptor *descriptor = [RKRequestDescriptor requestDescriptorWithMapping:userMapping objectClass:[RKUser class] rootKeyPath:@"me" method:RKRequestMethodAny];
[[RKObjectManager sharedManager] addRequestDescriptor:descriptor];
这是发布请求:
RKUser *user = [self currentUser].user; // [self currentUser].user returns the current RKUser
RKObjectManager *manager = [RKObjectManager sharedManager];
[manager postObject:user path:@"/api/me.json" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
NSLog(@"%@ %@", operation, mappingResult);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"%@ %@", error, operation);
}];
在服务器中,我只收到一个空的 current_user
参数。关于原因有什么想法吗?
PD。服务器需要 me
键下的 JSON 负载
最佳答案
确保您已设置:
manager.requestSerializationMIMEType = RKMIMETypeJSON;
默认为RKMIMETypeFormURLEncoded
。
根据您的评论和讨论,由于用户的类别错误,因此未使用映射。这是因为它是一个普通的 NSManagedObject 而不是 RKUser 实例。这意味着 RestKit 找不到合适的映射。造成此问题的原因是未在核心数据模型中的 User
实体上设置自定义类。
关于ios - Restkit请求不发送参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20509963/