所请求的资源不支持Alamofire的http方法“ T”(或“ ST”)

时间:2019-03-14 21:39:25

标签: ios swift alamofire

我遇到一个奇怪的问题。当使用Alamofire运行一系列HTTP请求时,我收到错误响应:

  

请求的资源不支持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的价值,因为我可以通过pod对其进行跟踪。

我解雇了Charles来侦听一些http网络流量,以查看其标记为GET还是T,但该请求的流量根本没有显示...

我已经在模拟器和设备上重现了该行为。

如果我运行完全相同的http请求,但是使用urlSession.uploadTask,则它运行正常,并且从未遇到问题。

任何人都可以看到这一点,或者对如何确定导致截断的原因有任何想法?最好的是,我猜到它发生在Alamofire中,但是我对从这里去哪里感到困惑。

1 个答案:

答案 0 :(得分:1)

您使用哪种编码?

尝试编码:URLEncoding.default.

如果使用Content-Type: application/json

,请检查问题是否存在。

如果后端使用spring,则可能会导致问题。这似乎是一个后端问题。

  

有些人在Alamofire上遇到了问题,而Moya在这里工作,   还有一些人在Alamofire工作的Moya遇到了问题。   一个奇怪的问题,但是我非常确定,后端会导致   问题!