ドキュメントで推奨されているように、AFHTTPClientをシングルトンクラスとして実装し、投稿のJSONデータでそれを呼び出し、代わりにJSONデータを受け取ります。
[[BMNetworkCalls sharedInstance] postPath:theURL parameters:theDict success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"my return is: %@", [responseObject valueForKeyPath:@"Result"]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error in network call: %@", [error localizedDescription]);
}];
すべて問題ありませんが、エラー( "HTTPRequestOperationのエラー:(200-299)の予期されるステータスコード、400を取得しました")を受け取った場合は、実際にここでもresponseObjectを読み取ります(これがAPIの方法です)私が使用しているのは、私が引き起こしたエラーのクラスを教えてくれます)。
AFJSONRequestOperationを使用してそれを行うことができます:
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
NSLog(@"my return is: %@", [JSON valueForKeyPath:@"Result"]);
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
NSLog(@"exception code: %@", [JSON valueForKeyPath:@"ExceptionCode"]);
NSLog(@"exception message: %@", [JSON valueForKeyPath:@"ExceptionMessage"]);
}];
[operation start];
AFHTTPClientを使用してどのように(そして私はできますか?)それを行うことができますか?