編集 07/14
Bill Burgess が彼の回答のコメントで言及したように、この質問version 1.3
はAFNetworking
. ここの新参者にとっては時代遅れかもしれません。
私は iPhone 開発の初心者で、サービス ライブラリとして AFNetworking を使用しています。
私が照会している API は RESTful なものであり、POST 要求を行う必要があります。これを行うには、次のコードを試しました。
NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:@"my_username", @"username", @"my_password", @"password", nil];
NSURL *url = [NSURL URLWithString:@"http://localhost:8080/login"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
NSLog(@"Pass Response = %@", JSON);
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
NSLog(@"Failed Response : %@", JSON);
}];
[operation start];
このコードには 2 つの主な問題があります。
AFJSONRequestOperation
GET
リクエストではなく、リクエストを行うようPOST
です。- このメソッドにパラメータを設定できません。
私もこのコードで試しました:
NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:@"my_username", @"username", @"my_password", @"password", nil];
NSURL *url = [NSURL URLWithString:@"http://localhost:8080"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
[httpClient postPath:@"/login" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Succes : %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Failure : %@", error);
}];
ここでやりたいことを実現するためのより良い方法はありますか?
助けてくれてありがとう !