2012-06-04 61 views
2

對不起,但即時通訊有點關於http post術語newb!AFHttpClient後兼有參數和JSON身體

我必須張貼到不能改變一個web服務: 格式如下:

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

這樣的參數是:

鍵:userToken,值= FOO

在身體我需要把這樣一個JSON格式的數組:

{ 「feedIds」:[1,2,3,4,5,6]}

我試着用AFNetworking做到這一點,但似乎無法使它這種情況下工作。

我已經嘗試了AFHttpclient和AFJSONReqestIOperation,但我不能夠結合請求和正確的身體。

所以我希望有人知道如何做到這一點。非常感謝幫助。

+0

也許這可以幫助:http://stackoverflow.com/questions/7623275/afnetworking-post-request – CarlJ

+0

謝謝。這基本上是我需要的。 – ThBlitz

回答

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

}]; 
+0

謝謝。當將getPath更改爲postPath時,此設置工作。我把自己的真實代碼作爲答案。對不起,但我不能upvote你的迴應呢。 (低代表:-() – ThBlitz

1

因此,使用馬修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:參數來實現的帖子。
我手動設置請求標題中的參數並從字典中輸入bodyparameters。
編碼設置爲JSON。
我有人想知道日誌記錄是用NSLogging完成的。它很棒。