【发布时间】:2018-07-10 18:46:10
【问题描述】:
我和我的公司正在开发一个 iOS 项目,我们在这个问题上陷入了困境。我们正在尝试向我们的 API 发出 POST 请求,但我们得到的只是成功代码,但响应类型为:
成功:{ detail = "未提供身份验证凭据。"; }
这是我们的代码:
@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")
}
}
}
感谢我们在使用 Alamofire 4.5 和 iOS 11.2 时提供的帮助
【问题讨论】:
-
检查授权密钥的名称
-
检查您的令牌是否有值并检查您的端点如何处理授权。尝试使用邮递员谷歌扩展通过它发送请求,看看它是否有效。如果不是,那么问题出在 API 而不是您的代码
-
也许你需要使用不同的方案,根据你的 api 层是如何实现的,请查看这篇文章 - stackoverflow.com/questions/33265812/…。也许尝试使用 Bearer vs Token
标签: ios swift api post alamofire