Swift - добавить параметр в httpBody по запросу Post - PullRequest
0 голосов
/ 18 декабря 2018

Я делаю пост на URL, и мой webDev говорит мне, что мне нужно установить

" data = "

в качестве параметра и мой JSONObject в качестве ключа.Я не знаю, как установить строку в качестве параметра.

Я попытался объединить строку в request.httpBody, но он принимает только данные.Я пытался добавить его в некоторых других областях, но безрезультатно.

let dateFormatter = DateFormatter()
        dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
        dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
        let dateString = dateFormatter.string(from: load.date)

        let json: [String: Any] = ["lb_datetime": "\(dateString)", "operator_id": "\(load.operatorID)", "ticket_number": load.ticketNumber, "timber_sale_id": "\(load.saleID)", "hauler_id": haulerInt, "product_id": String(load.productID), "destination": load.destination, "driver": load.driver, "trailer": load.trailerNumber, "trailer_drop": "\(load.trailerDrop)", "scaleticket": load.scaleTicketNumber, "tons": "\(load.tons)", "coords": coordsString, "net": "\(load.net)", "live": "true"]

        print("JSON Object: \(json)")

        let jsonData = try? JSONSerialization.data(withJSONObject: json)

        // create post request
        let url = URL(string: "http://example.net/example/app/mobile/removal/")!
        var request = URLRequest(url: url)
        request.httpMethod = "POST"

        // insert json data to the request
        request.httpBody = jsonData

        let task = URLSession.shared.dataTask(with: request) { data, response, error in
            guard let data = data, error == nil else {
                print(error?.localizedDescription ?? "No data")
                return
            }
            let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
            if let responseJSON = responseJSON as? [String: Any] {
                print("RESPONSEDATA: \(responseJSON)")
            }
        }

        task.resume()

Любая помощь очень ценится!

1 Ответ

0 голосов
/ 18 декабря 2018
let jsonData = try? JSONSerialization.data(withJSONObject: json)
if let _jsonData = jsonData {
    request.httpBody?.append(jsonData)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...