2015-11-04 43 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格式显示更多值。现在我如何发送这个帖子请求。 –