快速发送POST请求,但收到405响应(不允许该方法)

时间:2018-10-15 09:40:47

标签: ios swift post alamofire urlrequest

我正在向API发出POST请求。我已经使用Postman和其他第三方工具测试了API,并且Im得到了200条响应。但是,当我从迅速发出请求时,我得到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()

1 个答案:

答案 0 :(得分:0)

尝试使用

URLSession(configuration: URLSessionConfiguration.default)

代替

URLSession.shared

我遇到了同样的问题,这对我有用。