Как указать тип отправляемых данных в URLRequest в Swift? - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь понять, как указать тип данных, отправляемых в URLRequest, используя метод URLRequest.addvalue() в Swift.

Например, я узнал, что

URLRequest.addValue("applications/json", forHTTPHeaderField: "Content-Type")

указывает json данные для отправки. Например, если мне нужно отправить xml, как мне go об этом?

Любые ресурсы также будут полезны!

1 Ответ

2 голосов
/ 22 февраля 2020

Здесь мы не можем напрямую присвоить поле заголовка классу URLRequest. Поэтому сначала создайте переменную URLRequest.

// create post request
let url = URL(string: "http://www.myserver.com")!
var request = URLRequest(url: url)
request.httpMethod = "POST"

// set header field
request.addValue("application/xml", forHTTPHeaderField: "Content-Type")

// insert xml data to the request
let stringParams : String = "<msg id=\"123123\" reqTime=\"123123\">" +
    "<params class=\"API\">" +
    "<param name=\"param1\">123213</param>" +
    "<param name=\"param2\">1232131</param>" +
    "</params>" +
"</msg>"
request.httpBody = stringParams.data(using: String.Encoding.utf8, allowLossyConversion: true)

// api call
let task = URLSession.shared.dataTask(with: request) { data, response, error in
    guard let data = data, error == nil else {
        print(error?.localizedDescription ?? "No data")
        return
    }
    // process with data
    print(data)
}
task.resume()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...