Отправка параметра NSArray в веб-службу RESTful с использованием OAuthConsumer - PullRequest
0 голосов
/ 20 октября 2011

Я использую OAuthConsumer Framework / вспомогательные классы для связи с веб-сервисами RESTful.Я решил танец OAuth :-), но у меня есть некоторые функции, которым требуются параметры массива.

Я устанавливаю параметры так:

OARequestParameter *p0 = [[OARequestParameter alloc] initWithName:@"key"
                                                                value:@"value"];
NSArray *params = [NSArray arrayWithObjects:p0, nil];

OAMutableURLRequest *request = [[OAMutableURLRequest alloc] initWithURL:url
                                                               consumer:    [MyOAUthAppDelegate sharedAppDelegate].consumer
                                                                  token:[MyOAUthAppDelegate sharedAppDelegate].accessToken   // we don't have a Token yet
                                                                  realm:nil   // our service provider doesn't specify a realm
                                                      signatureProvider:[[OAHMAC_SHA1SignatureProvider alloc] init]]; // use the default method, HMAC-SHA1

[request setHTTPMethod:@"POST"];

OADataFetcher *fetcher = [[OADataFetcher alloc] init]; //

[fetcher fetchDataWithRequest:request
                     delegate:self
            didFinishSelector:@selector(requestTokenTicket:didFinishRESTWithData:)
              didFailSelector:@selector(requestTokenTicket:didFailTESTWithError:)];

Но WS возвращает «Принимаются только массивы».

В моих спецификациях написано что-то вроде:

REST (POST parameters)

params[xxx]= int
params[yyy]= int

Я думаю, что это будет довольно просто в PHP или Javascript, но я не знаю, как отправить параметр Array с iPhoneзапрос, в частности, с использованием объектов OAuthConsumer: S

1 Ответ

0 голосов
/ 06 ноября 2011

Я понял, добавив такие параметры:

OARequestParameter *p0 = [[OARequestParameter alloc] initWithName:@"function"
                                                                value:functionName];

OARequestParameter *p1 = [[OARequestParameter alloc] initWithName:@"params[c_id]" 
                                                                value:@"2"]; 
OARequestParameter *p2 = [[OARequestParameter alloc] initWithName:@"params[a_id]" 
                                                                value:@"1"]; 
NSArray *params = [NSArray arrayWithObjects:p0, p1, p2, nil];
[request setParameters:params];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...