Как сделать HTTP запрос в Swift?
Всем привет! Подскажите, пожалуйста, как правильно выполнить HTTP-запрос в Swift для iOS/macOS приложения. Я новичок в разработке под Apple, и пока не совсем понимаю, какой подход сейчас считается актуальным.
Мне нужно отправить GET-запрос на публичное REST API (например, получить список пользователей) и обработать ответ в формате JSON. Я пробовал использовать старый URLSession с делегатами, но код получается громоздким и сложным для понимания. Также наткнулся на сторонние библиотеки вроде Alamofire, но хотел бы разобраться сначала с нативными средствами.
Вот пример моего текущего кода, который не работает корректно (ошибка при декодировании JSON):
let url = URL(string: "https://jsonplaceholder.typicode.com/users")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let data = data {
let json = try? JSONSerialization.jsonObject(with: data, options: [])
print(json)
}
}
task.resume()Проблема в том, что я не понимаю, как обработать ошибки, проверить статус-код ответа (например, 200 OK) и корректно распарсить JSON в модель Swift (struct с Codable).
Ожидаю получить пример рабочего кода с использованием async/await (если это возможно в современном Swift) или с замыканиями, который включает: создание запроса, обработку ошибок, проверку HTTP-статуса, декодирование JSON в модель данных. Заранее спасибо за помощь!