Отправка запроса POST в быстром режиме, но получение ответа 405 (метод не разрешен)

Я делаю POST-запрос к API. Я протестировал API с помощью Postman и другого стороннего инструмента, и я получил ответ 200. Но когда я делаю запрос от swift, я получаю ответ 405 (метод не разрешен) и сообщение об ошибке, в котором говорится, что запрос «GET» не разрешен, хотя явно я делаю запрос POST.

Я проверил 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()

person iOSDev    schedule 15.10.2018    source источник
comment
С POSTMAN вы можете сгенерировать код Swift и проверить, в чем разница между вашим кодом и кодом Postman.   -  person Larme    schedule 15.10.2018
comment
Можете ли вы предоставить скриншот для запроса почтальона?   -  person justintime    schedule 15.10.2018


Ответы (1)


Попробуйте использовать

URLSession(configuration: URLSessionConfiguration.default)

вместо

URLSession.shared

Я столкнулся с той же проблемой, и это сработало для меня.

person Ahmed O. Musa    schedule 24.10.2019