2011-05-18 22 views

答えて

4

次のように私がこれまでに見つかった中で最高です:

  1. はあなたの要求と応答のためhttp://allseeing-i.com/ASIHTTPRequest/
  2. 使用JSONから非常に優れたASIHTTPRequestヘルパークラスを使用し、http://code.google.com/p/json-framework/
と解析

私は上記のクラスを自分のプロジェクトに追加しました。必要に応じてそれらのクラスを追加しました。次に:

NSURL *url = @"http://example.com/rest/whatever"; 

// create dictionary with post data 
NSMutableDictionary *requestDict = [[NSMutableDictionary alloc] init]; 
[requestDict setObject: Id forKey:@"Id"]; 
[requestDict setObject: field.text forKey:@"Name"]; 

//Prepare the http request 
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL: url]; 
[request setRequestMethod:@"POST"]; 
[request addRequestHeader:@"Content-Type" value:@"raw"]; 
[request setPostBody: [NSMutableData dataWithData: [[[self sbjson] stringWithObject:requestDict] dataUsingEncoding:NSUTF8StringEncoding]]]; 
[request startSynchronous]; 
[requestDict release]; 

self.error = [request error]; 

if(self.error) 
{ 
    [self performSelectorOnMainThread:@selector(serviceConnectionDidFail) withObject:nil waitUntilDone:NO]; 
} 
else 
{ 
    // request succeeded - parse response 
    NSDictionary *responseDict = [self.sbjson objectWithString:[request responseString]]; 
    int value = [responseDict valueForKey:@"ServerValue"]; 
} 

本当にシンプルで信頼性があり、優れたエラー処理です。

+0

ありがとうございました。シンプルな一見。しかし私のWebサービスはGETメソッドを使っています。これはどういうことか.http://85.17.168.204:8080/TunisairRESTful/resources/cities/ あなたはexempleしてくださいしてください? – siMonAkro

+0

要求のRequestMethodを@ "GET"に変更し、PostBodyを省略します。 詳細については、スタートガイドを参照してください。http://allseeing-i.com/ASIHTTPRequest/How-to-use –

0

Safariを開いて、RESTサーバーの適切なURLに移動します。

+1

ロブ - 私は尋ねると失礼ではありません - これは実際の回答ですか、あなたは冗談を言っていますか?これは本当に可能ですか?データをサーバーにどのようにポストし、レスポンスをどのように解析しますか? –

+0

Ryan、それは半分の冗談でしたが、RESTサーバーと通信するときにどのような操作が必要であるかを指定していないOPの質問を完全に満たしています。 –

+0

それは冗談か、あなたは真剣ですか? – siMonAkro

関連する問題