С помощью Swift 5 я пытаюсь избавиться от многих моих зависимостей (Alamofire) и пытаюсь понять, как выполнить многокомпонентный запрос при использовании Codable и URLRequest
Мой код работаетправильно для создания пользователя с именем и адресом электронной почты, но мне нужно добавить аватар в структуру.
После добавления аватара, как я могу закодировать структуру, чтобы она была составным запросом. В сети я нашел некоторые решения, но не для сценариев, подобных тому, который я пытаюсь реализовать.
Код ниже - это рабочий код для запроса без аватара.
struct User: Codable {
let name: String
let email: String?
}
var endpointRequest = URLRequest(url: endpointUrl)
endpointRequest.httpMethod = "POST"
endpointRequest.addValue("application/json", forHTTPHeaderField: "Content-Type")
do {
endpointRequest.httpBody = try JSONEncoder().encode(data)
} catch {
onError(nil, error)
return
}
URLSession.shared.dataTask(
with: endpointRequest,
completionHandler: { (data, urlResponse, error) in
DispatchQueue.main.async {
self.processResponse(data, urlResponse, error, onSuccess: onSuccess, onError: onError)
}
}).resume()