2015-11-04 59 views
0

首先,我嘗試了與高級休息客戶端相同的網絡服務。它工作正常。但是我在編寫等同網絡時遇到了困難。如何通過網絡使休息API呼叫iOS

這裏是Web服務。

http://devmybartersite.pantheon.io/myrestapi/barter_user/create?str=  {"email":"[email protected]","pass":"hello"} 

我能夠在chrome中的高級休息客戶端中獲得響應。另外還需要在頭中設置一個X-CSRF-Token。

這裏是我的代碼

- (IBAction)pressed:(id)sender { 
NSLog(@"You entered %@",self.username.text); 

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 

//header fields 
[manager.requestSerializer setValue:@"vZu-YUFWLzIdFIn7VDoA6hV9IhrYe-BimkC1ncRdojU" forHTTPHeaderField:@"X-CSRF-Token"]; 
    [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 



NSDictionary *params = @ {@"user":@"[email protected]", @"pwd":@"hello" }; 


[manager POST:@"http://dev-my-barter-site.pantheon.io/myrestapi/barter_user/create" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"JSON: %@", responseObject); 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 


} 
+0

你有什麼迄今所做? –

+0

基本上按鈕按下我需要調用此webservice。它基於drupal服務器 –

+0

** str **是關鍵是參數還是一個關鍵 –

回答

0

默認requestSerializer將改變你的參數以下格式[email protected]&pwd=hello。爲了得到JSON格式的請求體,使用AFJSONRequestSerializer

manager.requestSerializer = [AFJSONRequestSerializer serializer]; [manager.requestSerializer setValue:@"..." forHTTPHeaderField:@"..."]; [manager.requestSerializer setValue:@"..." forHTTPHeaderField:@"..."];

比你發送請求:

[manager POST:....]

+0

所以你可以看到我的查詢開始後?在網址中。仍然不知道如何繼續這個。 –

+0

@AjayPartapSingh我已更新我的回答 – 3CC

+0

非常感謝您,但我仍無法完成請求。所以我如上所述爲x-crf標記和內容類型設置標題字段。但是我不確定的部分是查詢參數。我的查詢參數是?str = {「email」:「[email protected]」,「pass」:「hello」}。因此,你可以看到我有一個str =,然後以json格式顯示更多值。現在我如何發送這個帖子請求。 –