使用Swift的Alamofire错误令牌(Post)

时间:2018-01-31 18:43:39

标签: ios swift post token alamofire

我的伙伴和我正在开发一个iOS项目,我们在这个问题上有所了解。

我们正在努力为我们的API制作一个@IBAction func accept(_ sender: Any) { var comm,cat,dist : String! comm = observationstwee.text! print(comm) let catd = 7 cat = String(catd) print(cat) dist = distancetwee.text! print(dist) let parameters: Parameters = [ "comment":comm, "category":cat, "distance":dist, "timestamp":time ] let headers: HTTPHeaders = ["Authorization": "Token \(token!)"] print(headers.debugDescription) Alamofire.request("https://llegoelbigotes.ubiqme.es/api/new-travel",parameters: parameters, headers: headers).responseJSON {response in switch(response.result) { case .success(_): print(response) print("Correct Travel") //changeViewController(storyboard_name: "Main", viewcontroller_name: "tabBarController", context: self) break case .failure(_): print("FAILURE") } } },但我们得到的只是一个成功的代码,但有一个类型的响应:

  

成功:{detail ="未提供身份验证凭据。&#34 ;; }

这是我们的代码:



Alamofire.request("https://llegoelbigotes.ubiqme.es/api/new-travel",method:.post,parameters: parameters,headers:headers, encoding: JSONEncoding.default).validate().responseJSON




与此通话一样:



{{1}}




我们得到了这个:

  

"额外参数'方法'在电话"

非常感谢您的帮助,我们正在使用Alamofire 4.5和iOS 11.2

2 个答案:

答案 0 :(得分:0)

当其中一个参数不正确时会发生这种类型的错误,在您的示例中这可能是“headers”参数,请尝试:

<a href="#" id="about-button" data-target="about-container">About</a>

并检查Alamofire migration guide,您可以使用RequestAdapter协议。

答案 1 :(得分:0)

当你使用post方法,所以你需要提供方法类型到请求参数代码应该像那样

request("https://llegoelbigotes.ubiqme.es/api/new-travel", method: 
.post, parameters: parameters, encoding: JSONEncoding.default, headers: 
headers).responseJSON(completionHandler:{ responseObject in
         })