2015-06-13 5 views
1

У меня есть следующий код, и я хочу, чтобы заставить параметры быть в теле вызова GET, а не часть строки запросаAFNetworking GET параметры в теле

NSString * requestURL = [NSString stringWithFormat:kXXXBaseAPIURL,@"findfriends"]; 

NSString * lastCallTime = [[XXXCommon sharedInstance] lastTimestampForURL:requestURL]; 

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 

AFHTTPRequestSerializer * serializer =[AFJSONRequestSerializer serializer]; 
[[XXXCommon sharedInstance].currentAccount addAuthorization:serializer]; 

[manager setRequestSerializer:serializer]; 
[manager.requestSerializer setValue:lastCallTime forHTTPHeaderField:@"If-Modified-Since"]; 

[manager GET:requestURL parameters:@{@"Id":[XXXCommon sharedInstance].currentAccount.UserId, @"Details" : [[XXXCommon sharedInstance].contactFriends valueForKey:@"USER_KEY"]} 
    success:^(AFHTTPRequestOperation *operation, id responseObject) { 

     NSLog(@"%@",responseObject); 


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

     NSLog(@"Request failed with error: %@, %@ ", error, error.userInfo); 

    }]; 

Параметр Детали большой массив и я не хочу их в строке запроса, в настоящее время выглядит следующим образом

http://xxx/api/findfriends?Details[]=%2B4823483943&Details[]=%2B234098234234&Details[]=%2B99999&Details[]=%2B77777777&Details[]=%2B999884&Details[]=%2B393949944 

ответ

2

NSURLConnection, лежащей в основе AFHTTPRequestOperation не позволяет телу в запросе GET. В общем случае GET не позволяет телу, даже если он работает, и он обычно работает на сервере.

Если вы хотите отправить тело, используйте запрос POST.

+0

Спасибо, хорошо, может быть, я должен сделать это POST, даже если я прошу данных. Я дам ему попробовать и пометить это как ответ, если все будет работать нормально – Flexicoder

+0

Это трюк, просто немного не так, как я просил информацию, но там вы идете – Flexicoder

+0

Службы RESTFul, которые запрашивают данные, обычно используют GET, но POST не запрещен. – zaph