AFNETSWORKENT POSTパラメータを過負荷にします
-
14-12-2019 - |
質問
ASIHTPRequestからAFNETWORKENTに移行しており、問題に遭遇しました。
POSTパラメータを過負荷にするリクエストでAPIを押しようとしています。私は以前にこれをasiformDatarequestを使用していました、そしてこのコードを使用して3番目のIDを同時に更新しました。
// ASIHTTPRequestCode
[request addPostValue:@"value1" forKey:@"id"];
[request addPostValue:@"value2" forKey:@"id"];
[request addPostValue:@"value3" forKey:@"id"];
.
AFNETSWORKINGはNSDictionaryを使用してキー値のペアを保存するため、これを行う方法を簡単にしません。任意のアイデア?
解決
AFNETSWORKINGでこれを行う直接的な方法をすぐに見ることはできませんが、そうすることは可能です。
AFHTTPClient requestWithMethod
のコードを見ると、この行が表示されます。これは、要求本文を設定するように設定するものです。
[request setHTTPBody:[AFQueryStringFromParametersWithEncoding(parameters, self.stringEncoding) dataUsingEncoding:self.stringEncoding]];
.
基本的には、パラメータのrequestWithMethod
に空の辞書を渡すことができ、それは自分でrequest setHTTPBody
を呼び出し、AFQueryStringFromParametersWithEncoding
の方法と同様の方法でクエリ文字列を自分で作成します。
他のヒント
このようにリクエストを作成することができます:
NSURL *url = [NSURL URLWithString:@"http://www.mydomain.com/"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSDictionary *postValues = [NSDictionary dictionaryWithObject:[NSString stringWithFormat:@"%@,%@,%@",@"value1",@"value2",@"value3"] forKey:@"id"];
NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"/path/to/your/page.php" postValues];
. 私は同様の問題に直面していましたが、URLを更新することで解決しました。URLで送信する必要があるパラメータを追加し、「パラメータをNILに」
に設定しました。だからURLは
のようなものになりましたserver\url.htm?data=param1&data=param2&data=param3
.
をパラメータ
としてNILを送信しました[request setHTTPBody:[AFQueryStringFromParametersWithEncoding(nil, self.stringEncoding) dataUsingEncoding:self.stringEncoding]];
. 所属していません StackOverflow