私は、私がしようとしているのは BodyにNSDictionary
という簡単な形でPOST
を実行することだけです。ここに私がrac_POST
と返すものがあります。HTTP本文を正しく投稿するにはどうすればよいですか?
return [[[self rac_POST:[NSString stringWithFormat:@"reservations/%@/update",reservationID] parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData){
[formData appendPartWithHeaders:@{@"Content-Type":@"application/json"} body:jsonData];
[formData appendPartWithFormData:jsonData name:@"payload"];
}] map:^id(RACTuple *t) {
RACTupleUnpack(NSDictionary * result) = t;
return result;
}] catch:^RACSignal *(NSError *error) {
return [self customErrorSignal:error];
}];
私は非常に多くの方法を試みたが、それはちょうど適切に私のAPI
てPOSTING
ではありません。
NSMutableDictionary *payloadDict = [[NSMutableDictionary alloc]init];
[payloadDict setObject:payloadArray forKey:@"payload"];
NSData *jsonData = [NSKeyedArchiver archivedDataWithRootObject:payloadDict];
私は私の方法で何をしないのです。私はこのように私のNSDictionary
NSData
に変換していますか?
body
(上記のコードでpayloadDict
)をパラメータdictionary
に追加しようとしましたが、機能しませんでした。内部のAPI
文書によれば、具体的には、本体HTTP
の一部としてpayloadDict
を追加すると言いました。これがまったく違うかどうかを誰かが明確にすることはできますか?
[formData appendPartWithHeaders:@ {@ "Content-Type":@ "application/json"} body:jsonData];これはBodyに追加するのに使用する正しい方法ですか? [formData appendPartWithFormData:jsonData name:@ "payload"]を使用する必要があります。 –
NSJSONSerializationに変更しましたが、まだエラーが発生しています –
この行を削除しようとすることができます[formData appendPartWithFormData:jsonData名:@ "payload"];再度確認してください –