Как передать запрос JSON - PullRequest
       6

Как передать запрос JSON

2 голосов
/ 18 марта 2012

Я новичок в AFNetworking Framework. Я пытаюсь отправить запрос JSON на сервер, чтобы получить ответ JSON, поэтому я попробовал что-то вроде этого:

NSURL *url = [NSURL URLWithString:@"http://data.mycity.gov/api/views/INLINE/rows.json?method=index"];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    [request setValue:[NSString stringWithFormat:@"application/json"] forHTTPHeaderField:@"Content-Type"];

    AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
        NSLog(@"Success");
    } failure:^(NSURLRequest* req,NSHTTPURLResponse *req2, NSError *error,id mex) {
        NSLog(@"Failed");
        NSLog(@"%@",[error description]);

    }];

    [operation start];  

Так что я всегда нахожу себя в блоке сбоя, с таким описанием ошибки:

Error Domain=com.alamofire.networking.error Code=-1011 "Expected status code in (200-299), got 400" UserInfo=0x7b58030 {NSErrorFailingURLKey=http://data.mycity.gov/api/views/INLINE/rows.json?method=index, NSLocalizedDescription=Expected status code in (200-299), got 400}

Есть идеи? я что-то пропустил?

Ответы [ 2 ]

1 голос
/ 18 марта 2012

Код состояния 400 означает - неверный запрос. Сервер не может понять запрос из-за неправильного синтаксиса.Клиент НЕ ДОЛЖЕН повторять запрос без изменений.

Когда я пытаюсь перейти по этому URL: http://data.mycity.gov/api/views/INLINE/rows.json?method=index", я получаю не найденную ошибку

Убедитесь, что вы используете APIИспользование корректно, если веб-служба возвращает JSON, вы сможете набрать этот URL в браузере и получить ответ JSON.

0 голосов
/ 18 марта 2012

Похоже, ваш сервер возвращает 400 "Bad Request".Убедитесь, что ваш URL правильный.

Кстати, ваш stringWithFormat является избыточным.Вы можете заменить

[NSString stringWithFormat:@"application/json"] 

на

@"application/json"
...