在AFNetworking中正确格式化POST消息的参数?

时间:2015-01-31 15:20:50

标签: objective-c xcode curl operating-system afnetworking

所以我正在尝试使用AFNetworking从基本上下载与终端中的以下cURL请求相同的信息:

curl --data 'method=my-service.search&document_type=x&keywords=y' http://mywebsite.com/services/json/my-service.search

如果我输入到终端,我会收到JSON。现在我想基本上做同样的事情(下载JSON),所以我可以在Xcode中解析它。

我在这里尝试用不同的术语提出这个问题,但我认为我正在缩小为什么我会遇到问题 - 我没有正确格式化参数。

NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:@"document_type", @"keywords", nil];

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:urlString parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) 

那么,如何使用正确的格式执行此任务以返回正确的结果?我是否将urlString设置为http://mywebsite.com/services/json/my-service.search,'method = my-service.search'是否应以任何形式输入参数?如何定义我列出的两个参数(例如,将document_type设置为podcast)?

对于一连串的问题感到抱歉。我很沮丧,这个网络服务在终端上工作得很好,但我不能用我目前的知识将它应用于Xcode。

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你已经创建了错误的参数字典,fowolling代码

NSDictionary *parameters = @{"document_type":value, @"keywords":value};

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

[manager POST:urlString parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {
    //SUCCESS BLOCK
} failure:^(NSURLSessionDataTask *task, NSError *error) {
   //FAILURE BLOCK
}];