Запрашиваемый ресурс не поддерживает http-метод 'T' (или 'ST') с Alamofire - PullRequest
0 голосов
/ 15 марта 2019

У меня странная проблема, с которой я сталкиваюсь. При выполнении серии HTTP-запросов с Alamofire я получаю сообщение об ошибке:

Запрошенный ресурс не поддерживает http-метод 'T'

(выше был запрос GET)

Alamofire.request(url, method: request.httpMethod, parameters: request.parameters, encoding: request.encoding, headers: request.headers).responseData { response in

Когда я отлаживаю и смотрю на значение в request.httpMethod, это всегда полный GET, но я получаю эту ошибку независимо. Я пытался следовать более глубокой логике в Alamofire, но, похоже, он держит значение GET настолько, насколько я могу отследить его через мой модуль.

Я вызвал Чарльза, чтобы прослушать некоторый сетевой трафик http, чтобы проверить, помечен ли он как GET или T, но трафик для этого запроса вообще не отображается ...

Я повторил поведение как на симуляторе, так и на устройстве.

Если я запускаю точно такой же http-запрос, но использую urlSession.uploadTask, он работает нормально и никогда не решает проблему.

Кто-нибудь видел это или есть какие-либо идеи о том, как определить причину усечения? Лучше всего я могу догадаться, что это происходит в Аламофире, но я в тупик, куда идти отсюда.

1 Ответ

1 голос
/ 15 марта 2019

Какую кодировку вы используете?

Попробуйте кодировку: URLEncoding.default.

Проверьте, существует ли проблема, если вы используете Content-Type: application/json

Проблема может быть вызвана, если в бэкэнде используется пружина.Кажется, это проблема с бэкэндом.

У некоторых людей есть проблемы с Alamofire, где вместо этого работает Moya, у некоторых других есть проблемы с Moya, где работает Alamofire .. Это странная проблема, но, опять же, я очень уверен, чтобэкэнд вызывает проблему!

...