Ios 在swift中发送POST请求,但得到405响应(不允许使用此方法)
我正在向API发出POST请求。我已经使用Postman和另一个第三方工具测试了API,我得到了200条回复。但当我从swift发出请求时,我得到了405响应(不允许使用方法)和一条错误消息,表明“get”请求是不允许的,尽管我显然在发出POST请求 我已经检查了httpBody,它肯定包含数据。我只是不知道我做错了什么。这是我的密码:Ios 在swift中发送POST请求,但得到405响应(不允许使用此方法),ios,swift,post,alamofire,urlrequest,Ios,Swift,Post,Alamofire,Urlrequest,我正在向API发出POST请求。我已经使用Postman和另一个第三方工具测试了API,我得到了200条回复。但当我从swift发出请求时,我得到了405响应(不允许使用方法)和一条错误消息,表明“get”请求是不允许的,尽管我显然在发出POST请求 我已经检查了httpBody,它肯定包含数据。我只是不知道我做错了什么。这是我的密码: let json : [Dictionary<String,Any>] = [["label" : "Misc", "ignored": t
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()
let json:[字典]=[[“标签”:“杂项”,“忽略”:真”,“标签”:“现金”,“忽略”:假]]
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(带jsonObject:json)
让task=URLSession.shared.dataTask(with:request){data,response,中的错误
如果让响应=响应{
打印(答复)
}
}
task.resume()
尝试使用
URLSession(配置:URLSessionConfiguration.default)
而不是
URLSession.shared
我遇到了同样的问题,这对我很有效。使用POSTMAN,您可以生成Swift代码,并检查您的代码与来自POSTMAN的代码之间的差异。您能否提供一个POSTMAN请求的屏幕截图?