AFNetworking 3.0数据无法被读取,因为它的格式不正确

还有其他类似的题目,但没有一个帮助我。 我要发送一个PUT请求到服务器为了改变约会的状态,所以我做了这个方法-(void)appointmentStatusChangedTo:(NSString *)statusID atAppointmentID:(NSString *)appointmentID在其中我设置url和参数为

 NSString *string = [NSString stringWithFormat:@"%@/API/Appointments/3",BaseURLString]; NSDictionary *para = @{ @"AppointmentStatusId":statusID, @"ID":appointmentID }; 

然后我做了URL请求

 AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; NSMutableURLRequest *req = [[AFJSONRequestSerializer serializer] requestWithMethod:@"PUT" URLString:string parameters:para error:nil]; 

之后,我将授权令牌的标头设置为

  NSString *token = [NSString stringWithFormat:@"Bearer %@",[[NSUserDefaults standardUserDefaults] objectForKey:@"userToken"]]; [req setValue:token forHTTPHeaderField:@"Authorization"]; 

所以最后我把它称为

 [[manager dataTaskWithRequest:req completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error){ if (!error) { if (response) { NSLog(@"Respose Object: %@",responseObject); [self.patientsAppointmentsTableView reloadData]; } } else { // NSLog(@"Error: %@, %@, %@", error, response, responseObject); NSLog(@"Error: %@", error.localizedDescription); } }] resume]; 

现在,它正在成功发送数据到服务器,但作为我收到的答复

错误:数据无法被读取,因为它的格式不正确。

我不确定目前的反应可能是什么样子,因为我没有联系后端人员。 但据我记忆,这只是一个简单的1.所以请告诉我如何使用AFNetworking 3.0或任何改变我的代码处理任何types的响应。

尝试使用下面的代码:

 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; AFJSONRequestSerializer *serializer = [AFJSONRequestSerializer serializer]; [serializer setStringEncoding:NSUTF8StringEncoding]; manager.requestSerializer=serializer; manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 

尝试下面的代码使用Afnetworking 3.0

 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; [manager GET:url parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) { NSLog(@"%@",responseObject); self.responseHandlers(YES,responseObject); } failure:^(NSURLSessionTask *operation, NSError *error) { self.responseHandlers(NO,nil); }];