У меня проблемы при отправке на сервер. Каждое значение анализируется, ожидая, что имена свойств моего массива не будут.restkit propertyname не отображается
Мой сервер ожидает что-то вроде этого:
{ "место": 2, "_id": "517808546b496658c10209", "продукты": [ { "количество": 3, "всего": 6,6, "название": "Кокс", "цена": 2,2 }, { "количество": 1, "всего": 4,0, "название": "Вода", «цена»: 2 }] }
, но мой клиент посылает это:
{ "место": 2, "_id": "517808546b496658c10209", "продукты": [ 3, 6.6, "Кокс", 2.2, 1, 4.0, "Вода", ] }
продукта:
@property (nonatomic) NSNumber *_id;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *detail;
@property (nonatomic, assign) float price;
@property (nonatomic, strong) Category *category;
@property (nonatomic, assign) int amount;
@property (nonatomic, assign) float total;
мой код:
RKObjectMapping *productMapping = [RKObjectMapping requestMapping];
[productMapping addAttributeMappingsFromDictionary:@{@"productId":@"_id",@"amount":@":amount",@"total":@"total",@"price":@"price",@"name":@"name"}];
RKObjectMapping *horecaMapping = [RKObjectMapping requestMapping];
[horecaMapping addAttributeMappingsFromDictionary:@{ @"Id": @"_Id",@"deliverySpotId":@"location"}];
[horecaMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"self.getBasketSet" toKeyPath:@"products" withMapping:productMapping]];
RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:horecaMapping objectClass:[Horeca class] rootKeyPath:nil];
[RKMIMETypeSerialization registerClass:[RKNSJSONSerialization class] forMIMEType:@"text/plain"];
RKObjectManager *manager = [RKObjectManager managerWithBaseURL:baseURL];
[manager addRequestDescriptor:requestDescriptor];
[manager postObject:sharedHoreca path:@"/orders" parameters:nil success:nil failure:nil];
--update 1-- Я также попытался сделать NSSet моего массива, но это все равно не поможет меня. (nsarray to nsset restkit)
Вы получаете ошибки в журнале? – Wain
Нет. Я не получаю никаких ошибок. –