0

これが正しく機能するのに問題があります。

リクエストに挿入したい JSON ペイロードのキーと値のペアをマッピングしましたが、最終的に各投稿で失敗します。

次の行は、リクエストの作成を示しています。

RKObjectMapping *requestMapping = [WDMappingProvider createRegInitRequestTicketMapping];
    RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:[requestMapping inverseMapping] objectClass:[WDTicketsModel class] rootKeyPath:nil];
[registrationManager addRequestDescriptor:requestDescriptor];

次に、投稿先のパスを作成し、投稿リクエストにデータを入力します。

//Make object from params
    WDRegistrationInitializeRequestModel *requestModel  = [[WDRegistrationInitializeRequestModel alloc] init];

    requestModel.eventID = [params objectForKey:@"eventID"];
    requestModel.arrayOfTicketDictionaries  = [params objectForKey:@"arrayOfTicketDictionaries"];

    NSString *postPath = [NSString stringWithFormat:@"api/v1/registrations/initialize?eventid=%@", requestModel.eventID];

    //Post the object (aka the interest json payload)
    [registrationManager postObject:requestModel.arrayOfTicketDictionaries path:postPath parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *result){ ...

この時点で、私は常に postObject メソッドの Failure ブロックに行き着きます。

[WDMappingProvider createRegInitRequestTicketMapping] によって作成された私のマッピングは次のようになります。

+(RKObjectMapping *)createRegInitRequestTicketMapping
{
    RKObjectMapping *regInitRequestMapping = [RKObjectMapping mappingForClass:[WDTicketsModel class]];
    [regInitRequestMapping addAttributeMappingsFromDictionary:
     @{
        @"Quantity" : @"quantity",
        @"TicketID":@"mainID"
     }];


    return regInitRequestMapping;
}

arrayOfTicketDictionaries は次のようになります。

[{"Quantity":1,"TicketID":1604},{"Quantity":1,"TicketID":1605},{"Quantity":1,"TicketID":1606}]

何かご意見は?

4

1 に答える 1