我遇到一个奇怪的问题。当使用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中,但是我对从这里去哪里感到困惑。
答案 0 :(得分:1)
您使用哪种编码?
尝试编码:URLEncoding.default.
如果使用Content-Type: application/json
如果后端使用spring,则可能会导致问题。这似乎是一个后端问题。
有些人在Alamofire上遇到了问题,而Moya在这里工作, 还有一些人在Alamofire工作的Moya遇到了问题。 一个奇怪的问题,但是我非常确定,后端会导致 问题!