2

对不起,但我对 http post 术语有点陌生!

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

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

所以参数是:

键:用户令牌,值 = FOO

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

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

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

我已经尝试过 AFHttpclient 和 AFJSONReqestIOperation 但我无法正确组合请求和正文。

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

4

2 回答 2

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)
 {

 }];
于 2012-06-04T15:34:18.747 回答
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 方法来实现 post。
我手动设置请求标头中的参数并从字典中输入正文参数。
编码设置为 JSON。
我有人想知道日志记录是使用 NSLogging 完成的。太棒了。

于 2012-06-04T18:06:18.580 回答