0

Restkit 0.20 のリクエスト マッピングで問題が発生しました。NSStrings を含む NSArray をキー「mails」の下のリクエストに入れたいと思います。

{mails:[@"first@gmail.com",@"second@gmail.com"]}

したがって、この場合、標準オブジェクトのみを使用しているため、オブジェクト マッピングは実際には必要ありません。うまくいかなかったので、(少なくとも私にとっては)通常の方法に戻りました-NSArrayを含むDTOオブジェクトMailRequestを導入しました。私はこのようにします:

RKObjectMapping* mapping =  [RKObjectMapping requestMapping];
[mapping addAttributeMappingsFromDictionary:@{
        @"mails":@"mails"
}];  

RKRequestDescriptor *reqDesc = 
            [RKRequestDescriptor requestDescriptorWithMapping:mapping
                                                  objectClass:[MailRequest class]
                                                  rootKeyPath:nil];

RKObjectManager *manager = ...
...
NSMutableURLRequest *request = [manager requestWithObject:requestObject 
                                                   method:RKRequestMethodPOST 
                                                     path:urlString parameters:nil];

RKObjectRequestOperation *operation = 
                     [manager objectRequestOperationWithRequest:request ...

...しかし、MailsRequest DTO オブジェクトを削除したいと思います。それは可能ですか?

4

1 に答える 1

2

マッピング手順をスキップして、送信と応答マッピングに RestKit を使用します。好きなように辞書を作成してください。から URL を作成する必要がありますurlString

NSDictionary *mails = @{mails:@[@"first@gmail.com",@"second@gmail.com"]};
NSError *error = nil;
NSData *mailsJSON = [NSJSONSerialization dataWithJSONObject:mails options:0 error:&error];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:mailsJSON];

RKObjectRequestOperation *operation = [manager objectRequestOperationWithRequest:request ...
于 2013-05-24T16:18:49.503 に答える