我遇到了一个奇怪的问题。当使用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跟踪它。
我解雇查尔斯听一些http网络流量,看它是否标记为GET
或T
,但该请求的流量根本没有显示...
我已经重新模拟了模拟器和设备上的行为。
如果我运行完全相同的http请求,但使用urlSession.uploadTask
,它工作正常,永远不会遇到问题。
任何人都看到这个或有任何想法如何识别导致截断的原因?我最好能猜到它在Alamofire发生的事情,但我很难过从这里去哪里。
你使用哪种编码?
尝试编码:URLEncoding.default.
如果您使用Content-Type: application/json
,请检查问题是否存在
如果后端使用弹簧,可能会导致问题。这似乎是一个后端问题。
有些人在Alamofire上遇到问题,Moya在那里工作,其他一些人在使用Alamofire工作的Moya时遇到了问题。这是一个奇怪的问题,但我非常肯定,后端导致问题!