Есть и другие вопросы с похожими названиями, но ни один из них не помог мне. Я отправить PUT
запрос на сервер для того, чтобы изменить статус назначения, поэтому я сделал этот метод -(void)appointmentStatusChangedTo:(NSString *)statusID atAppointmentID:(NSString *)appointmentID
В котором я устанавливаю URL и параметрыAFNetworking 3.0 Данные не могут быть прочитаны, потому что они не в правильном формате
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];
Теперь она успешно передавать данные на сервер, но в ответ я получаю
Error: The data couldn’t be read because it isn’t in the correct format.
Я не уверен, что ответ может выглядеть в тот момент, когда я не в контакт с бэкэндом. Но, насколько я помню, это было просто. 1. Скажите мне, как обращаться с любым типом ответа с помощью AFNetworking 3.0 или с любым изменением моего кода.
Что вы AFResponseSerializer? – Larme
@ Larme, какая альтернатива? и да ответ не JSON. Что я должен там положить. –
Можете ли вы показать мне свой ответ? –