Restkit requestMapping序列化其他属性

时间:2013-12-11 20:32:44

标签: ios objective-c json restkit restkit-0.20

我的实现是发送一些我不想要的参数。这是requestDescriptor

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];

这是POST请求:

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);
}];

在服务器中,我在密钥me下正确获取这些属性(JSON有效负载),但我也在密钥current_user下收到完全相同的属性。这是服务器收到的JSON有效负载:

{
    "me": {
        "identificacion": "1104680135",
        "telefono": "123",
        "direccion": "Av.ManuelAgustínAguirreyJoséPicoita",
        "recibir_correos_ordenes": true,
        "email": "admin@macool.me",
        "nombres": "MarioAndres",
        "recibir_sms_ordenes": true,
        "tipo_id": "Cédula"
    },
    "current_user": {
        "me": {
            "identificacion": "1104680135",
            "telefono": "123",
            "direccion": "Av.ManuelAgustínAguirreyJoséPicoita",
            "recibir_correos_ordenes": true,
            "email": "admin@macool.me",
            "nombres": "MarioAndres",
            "recibir_sms_ordenes": true,
            "tipo_id": "Cédula"
        }
    }
}

如您所见,我在密钥current_user下发送重复数据。我该如何避免这种情况?这是一个错误吗?

我正在使用从其github存储库中提取的Restkit 0.22.0(目前提交 232f7f0

0 个答案:

没有答案