JSON Я должен опубликовать:
{
"quizId": 1,
"quizQuestionBanks": [
{
"quizQuestionBankId": 4,
"question": "string",
"option1": "string",
"option2": "string",
"option3": "string",
"option4": "string",
"answer": "Guy de Maupassant",
"explanation": "string"
}
]
}
Я сделал часть сообщения URLSession Post. Но не знаю, как опубликовать этот вид JSON. Ранее я опубликовал JSON, как это.
let json: [String: Any] = ["key": "value"]
Но это немного сложно для меня.
Код, который я сделал для публикации, приведен ниже
let url = URL(string: postUrl)! //PUT Your URL
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("\(String(describing: jsonData?.count))", forHTTPHeaderField: "Content-Length")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Token \(String(describing: token))", forHTTPHeaderField: "Authorization")
// insert json data to the request
request.httpBody = jsonData
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(responseJSON) //Code after Successfull POST Request
}
}.resume()