我有以下两个实体
@interface MEContactInfo : NSObject
@property (nonatomic,strong) NSString* phone ;
@property (nonatomic,strong) NSString* email;
@end
@interface MEContact : NSObject
@property (nonatomic,strong) NSString* _id ;
@property (nonatomic,strong) NSString* lastName;
@property (nonatomic,strong) NSString* firstName;
@property (nonatomic,strong) NSString* data ;
@property (nonatomic,strong) NSMutableArray* contactInfos ;
@end
第二个实体联系人包含联系人信息数组。现在我想将此发布到我的服务器,但我无法这样做。我的映射如下:
RKObjectMapping* contactMapping = [RKObjectMapping mappingForClass:[MEContact class]];
[contactMapping addAttributeMappingsFromArray:@[@"_id",@"lastName",@"firstName",@"data"]];
RKObjectMapping* contactInfosMapping = [RKObjectMapping mappingForClass:[MEContactInfo class]];
[contactInfosMapping addAttributeMappingsFromArray:@[@"email",@"phone"]];
[contactMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"contactInfos" toKeyPath:@"contactInfos" withMapping:contactInfosMapping]];
我的请求描述符如下:
requestDescriptor = [RKRequestDescriptor
requestDescriptorWithMapping:[contactMapping inverseMapping]
objectClass: [MEContact class]
rootKeyPath:nil method:RKRequestMethodAny];
现在当我发布这样的内容时:
{firstName:“abc”, 名字:” XYZ”, contactInfos:[{ 电子邮件:” test@test.com” 电话:” 9999999999” }] }
我收到了
{ 姓:” ABC”, 名字:” XYZ”, contactInfos:[“test@test.com”,“9999999999”] }
如果我在contactInfos数组中有多个条目,它们都会附加到我在服务器端收到的contactInfos数组中。基本上,contactInfo对象在数组中展平。能告诉我如何解决这个问题。
答案 0 :(得分:0)
我得到了它的工作。以上所有内容都是正确的。问题是数据不是作为服务器的JSON。解决方案是我必须设置请求序列化MimeType,这可以通过执行此操作来完成
[objectManger setRequestSerializationMIMEType:RKMIMETypeJSON];
由于