Эти данные прекрасно переносятся на мой веб-сервис в «Postman», но не в AFNetworking, поэтому я знаю, что это проблема с обработкой AFNetworking или AFNetworking NSDictionary.AFNetworking POST параметр с подчеркиванием
Я использую следующий простой код на сообщение:
AFHTTPSessionManager *newSession = [AFHTTPSessionManager manager];
newSession.requestSerializer = [AFJSONRequestSerializer serializer];
newSession.responseSerializer = [AFJSONResponseSerializer serializer];
NSDictionary *tryParameters = @{@"tripID": @"1234", @"tailNum": @"N15HEHE", @"legNum": @"1", @"file_date": @"2016"};
[newSession POST:HTTP_POST_TRIP_DATA parameters:tryParameters progress:^(NSProgress * _Nonnull uploadProgress) {
NSLog(@"TRY");
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSString *status = [responseObject valueForKey:@"status"];
NSLog(@"RESPONSE: %@", responseObject);
if ([status isEqualToString:@"success"]) {
files(YES);
} else {
files(NO);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
//NOT success
files(NO);
}];
На последнем "tryParameters" У меня есть ключ/значение "file_date": @ "2016". Кажется, это подчеркивание. Если я удаляю символ «_» (подчеркивание) из ключа file_date, все, кажется, обрабатывается. (Конечно, я получаю сообщение об ошибке с моего сервера, говоря, что «file_date» так и не был предоставлен.). Но если я оставить «_» в моем ключе «file_date», запрос POST не удается, и я получаю ...
[0] (null) @"com.alamofire.serialization.response.error.response" : (no summary)
[1] (null) @"NSErrorFailingURLKey" : @"http://xxxxxxx.com/xxx/createTrip"
[2] (null) @"com.alamofire.serialization.response.error.data" : (no summary)
[3] (null) @"NSLocalizedDescription" : @"Request failed: unauthorized (401)"
Я не могу понять, почему «_» является таким вопросом. Я могу прочитать его на сервере FROM в запросах GET, но когда я пытаюсь выполнить POST, он терпит неудачу.