如何使用 RESTKit 将对象数组发布到我的服务器?
我有一个名为的自定义对象Contact
它有一些属性,例如name
, phone
等等。我想发送这些的数组Contact
向服务器发送对象。
我知道的方法是postObject:path:parameters:success:failure
,但是我放在这里的对象是什么?如果我把Contact
- 它怎么知道它是一个数组?如果我把NSArray
,它怎么知道它是一个Contact
?
My Contact
对象头文件是:
@interface Contact : NSObject
@property (strong, nonatomic) NSString *name;
@property (strong, nonatomic) NSString *phone;
@property (nonatomic) NSInteger order;
@property (strong, nonatomic) NSString *firstName;
@property (strong, nonatomic) NSString *lastName;
@end
我的响应映射是:
RKObjectMapping *personMapping = [RKObjectMapping mappingForClass:[Contact class]];
[personMapping addAttributeMappingsFromDictionary:@{
@"username": @"name",
@"firstname" : @"firstName",
@"lastname" : @"lastName",
}];
我的响应描述符是:
RKResponseDescriptor *personResponseDescriptorForArrayOfPhones =
[RKResponseDescriptor responseDescriptorWithMapping:personMapping
method:RKRequestMethodANY
pathPattern:@"getUsersInfoByPhones"
keyPath:nil
statusCodes:[NSIndexSet indexSetWithIndex:200]];
我的请求映射是:
RKObjectMapping *personRequestMapping = [RKObjectMapping requestMapping ];
[personRequestMapping addAttributeMappingsFromDictionary:@{
@"name": @"username",
@"firstName" : @"firstName",
@"lastName" : @"lastName",
@"phone" : @"usernames"
}];
我的请求描述符是:
RKRequestDescriptor *personRequestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:personRequestMapping
objectClass:[Contact class]
rootKeyPath:nil
method:RKRequestMethodAny];
这个实现看起来不错吗?
另外,我想要发送到服务器的这个数组可能非常大,大约有 200-1000 个对象。 RESTKit 可以做到这一点吗?
Update:实际上,我更愿意发送一个字符串数组(这将是电话号码),并从服务器获取Contact
我拥有的对象。如何设置 RESTKit 来发布字符串数组并期望得到一组字符串的响应Contact
物体?
我需要发送的 json 如下所示:
{
"usernames":["11","22"]
}
我期望得到的 json 是:
[
{
"_id" : "53e23a54e811310000955f70",
"profileUpdatesCounter" : 3,
"lastname" : "SMITH",
"firstname" : "BOB",
"username" : "11"
}
]