Я пытаюсь сделать вызов API для отправки некоторых данных, используя Alamofire
(версия 4.0). Я думаю, что запрос был успешным. Но проблема у меня заключается в том, что при выполнении вызова я получаю ответ от сервера, что 0-байтовый отказ.
Я пробовал многие из решений, в настоящее время на StackOverflow и не могу найти решение. Спасибо за вашу помощь.
Вот мой Postman
настроить:
Мой код Swift:
import UIKit
import Alamofire
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let headers: HTTPHeaders = [ "content-type": "x-www-form-urlencoded"]Alamofire.request("myurl.php?method=GET_RECENT", headers: headers).responseJSON { response in
debugPrint(response)
print(response.request) // original URL request
print(response.response) // HTTP URL response
print(response.data) // server data
print(response.result) // result of response serialization
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
}
}
Я получаю ошибку:
[Запрос]: myurl.php? Method = GET_RECENT
[Ответ]: {URL: myurl.php? Method = GET_RECENT} {код состояния: 200, заголовки {
«Cache-Control» = «max-age = 0»;
Connection = «Keep-Alive»;
«Content-Length» = 0;
«Content-Type» = «text / html; charset = UTF-8»;
Date = «Sun, 01 Jan 2017 11:41:31 GMT»;
Expires = «Солнце, 01 января 2017 11:41:31 GMT»;
«Keep-Alive» = «timeout = 7, max = 100»;
Сервер = «Apache / 2.2.15 (CentOS)»;
«X-Powered-By» = «PHP / 5.6.25»;
}}
[Данные]: 0 байт
[Результат]: НЕИСПРАВНОСТЬ: responseSerializationFailed (Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength)
[Временная шкала]: Временная шкала: {«Время начала запроса»: 504963459.698, «Начальное время ответа»: 504963459.821, «Время выполнения запроса»: 504963459.821, «Время завершения сериализации»: 504963459.821, «Время ожидания»: 0,123 секунды, «Продолжительность запроса» : 0,123 секунды, «Продолжительность сериализации»: 0,001 секунды, «Общая продолжительность»: 0,124 секунды}
Дополнительно (myurl.php? Метод = GET_RECENT)
Необязательно ({URL: myurl.php? Method = GET_RECENT} {код состояния: 200, заголовки {
«Cache-Control» = «max-age = 0»;
Connection = «Keep-Alive»;
«Content-Length» = 0;
«Content-Type» = «text / html; charset = UTF-8»;
Date = «Sun, 01 Jan 2017 11:41:31 GMT»;
Expires = «Солнце, 01 января 2017 11:41:31 GMT»;
«Keep-Alive» = «timeout = 7, max = 100»;
Сервер = «Apache / 2.2.15 (CentOS)»;
«X-Powered-By» = «PHP / 5.6.25»;
}})
Необязательно (0 байт)
FAILURE
Я думаю, что вы настраиваете вашу настройку Почтальона неверно. Отправлять JSON
как данные в вашем GET
запросить вы должны использовать raw
варианты, как на картинке ниже.
Других решений пока нет …