AFHttpClient帖子中包含参数和JSON

时间:2012-06-04 15:18:30

标签: ios json http post afnetworking

很抱歉,但我对http post术语有点新意了!

我必须发布到无法更改的网络服务: 格式如下:

http://SomeWebAddress/JSON/GetAllFeedsRestfullyWrapped?userToken=FOO             

所以参数是:

  

key:userToken,value = FOO

在正文中我需要放置一个JSON格式的数组:

  

{ “feedIds”:[1,2,3,4,5,6]}

我试图通过AFNetworking来实现这一目标,但似乎无法使其适用于这种情况。

我已经尝试了AFHttpclient和AFJSONReqestIOperation但我无法将请求和正文结合起来。

所以我希望有人知道如何做到这一点。非常感谢帮助。

2 个答案:

答案 0 :(得分:2)

试试

[[YourHTTPClient sharedHTTPClient] postPath:@"GetAllFeedsRestfullyWrapped?userToken=FOO"
                              parameters:[NSDictionnary {"feedIds":[1,2,3,4,5,6]}]
                                 success:^(AFHTTPRequestOperation *request, id JSON)
 {

 }
                                 failure:^(AFHTTPRequestOperation *request, NSError *error)
 {

 }];

答案 1 :(得分:1)

因此,使用Mathieu Hausherr的回答作为基线,这是我的解决方案:

NSArray *feedIds = [NSArray arrayWithObject:[NSNumber numberWithInteger:3]];
NSMutableDictionary *parameters = [[NSMutableDictionary alloc]init];
[parameters setObject:feedIds forKey:@"listOfFeedIds"];    
[[RssReaderWebserviceApiClient sharedInstance] postPath:@"GetFeedsRestfullyWrapped?userToken=FOO"
                                             parameters:parameters
                                                success:^(AFHTTPRequestOperation *request, id JSON){
                                                    LOG_TEST(1,@"Response: %@",JSON);
                                                }
                                                failure:^(AFHTTPRequestOperation *request, NSError *error){
                                                    LOG_ERROR(1,@"Error: %@",error);
                                                }];

我使用postPath:parameters方法来实现帖子 我手动设置请求标头中的参数,并从字典中输入body参数 编码设置为JSON 我有人想知道使用NSLogging完成日志记录。这太棒了。