【发布时间】:2019-03-19 17:03:27
【问题描述】:
我正在向 API 发出 POST 请求。我已经使用 Postman 和另一个第三方工具测试了 API,我得到了 200 响应。但是,当我从 swift 发出请求时,我收到 405 响应(不允许使用方法)和一条错误消息,指出即使我正在发出 POST 请求,也不允许“GET”请求。
我已经检查了肯定包含数据的 httpBody。我只是无法弄清楚我在这里做错了什么。这是我的代码:
let json : [Dictionary<String,Any>] = [["label" : "Misc", "ignored": true], ["label" : "Cash", "ignored": false]]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("application/json", forHTTPHeaderField: "Accept")
request.httpBody = try? JSONSerialization.data(withJSONObject: json)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let response = response {
print(response)
}
}
task.resume()
【问题讨论】:
-
使用 POSTMAN,您可以生成 Swift 代码并检查您的代码与 Postman 的代码有什么区别。
-
能否提供 Postman 请求的截图?
标签: ios swift post alamofire urlrequest