它首次显示405服务器错误以从API服务器获取结果,并且它在第二次正常工作

时间:2018-02-07 02:09:55

标签: swift alamofire

首次显示405服务器错误以从API服务器获取结果,并且第二次正常工作。我一直试图解决这个问题一个月,但找不到解决方案。

我使用了Xcode 9.2,Swift 4和Alamofire 4.6。

主要问题 - API服务器日志假设在http方法上显示“POST”。 Howerver它在http方法上只显示“ST”。 (这是主要问题。)这导致405服务器错误。

使用Alamofire的我的源代码

Alamofire.request(url, method: .post  , parameters: [“phone”:”123123”],encoding: JSONEncoding.default)
  .validate()
  .responseJSON { (response) in
  if response.result.isSuccess {
    success(response.result.value as! Dictionary)
 } else {
 LogHelper.printLog("response : \(response)")

    fail(response.result.error)
 }
}

到目前为止我尝试过:

  • 我在header =>上添加了“application / json”没有改变。
  • 我更改了Alamofire版本并重新安装了它。 =>没有改变。
  • 参数键更改=> 405错误和500错误
  • 参数值更改=>第一次405错误,第二次请求成功。
  • Alamofire econding change =>没有改变。
  • 删除Alamofire请求中的“.validate()”。 =>没有改变。
  • 从responseJSON =>更改为responseString没有改变。

1 个答案:

答案 0 :(得分:0)

当前行为,其中NSURLSession发送Content-Length标头,而不发送消息正文。

检查此链接:https://github.com/Alamofire/Alamofire/pull/2887