【发布时间】:2018-10-29 10:02:11
【问题描述】:
这就是我做 POST 请求的方式
var request = URLRequest(url: url)
let methodString = mehtod.rawValue
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
request.cachePolicy = .reloadIgnoringLocalAndRemoteCacheData
if let headers = headers {
request.set(headers: headers)
}
if let parameters = parameters {
do {
let postParams = try JSONEncoder().encode(parameters)
let postData = postParams
request.httpBody = postData
}
catch {
print("error")
}
}
let session = URLSession.shared
print(request)
print(request.allHTTPHeaderFields)
print(String(data: request.httpBody!, encoding: .utf8)!)
print(request.httpMethod)
session.dataTask(with: request) { (data, response, error) in
let result: Result<Data>
if let data = data {
result = .success(data)
}
else if let error = error {
result = .failure(error)
}
else {
result = .failure(RESTError.unknownError)
}
completion(result)
}.resume()
这就是我在查尔斯身上看到的
我正在尝试发送 POST,但不知何故我正在发送 GET 请求。 我也从服务器收到错误:
{"message":"Method \"GET\" not allowed.","code":"method_not_allowed"}
可能是什么原因?
【问题讨论】:
-
你检查过
parameters不是nil -
@Paulw11 是的,它不是零
标签: ios swift http urlrequest urlsession