Ответ
HTTP body — это часть HTTP-запроса или ответа, содержащая передаваемые данные (например, JSON, XML, form-data). В iOS для работы с телом запроса используются URLRequest и URLSession.
Основное использование
let url = URL(string: "https://api.example.com/data")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let json: [String: Any] = ["key": "value"]
request.httpBody = try? JSONSerialization.data(withJSONObject: json)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
// Обработка ответа
}
task.resume()
Ключевые моменты
- Формат определяется заголовком
Content-Type:application/json— JSON-данныеapplication/x-www-form-urlencoded— форма URL-encodedmultipart/form-data— загрузка файлов
- GET-запросы обычно не используют body (данные передаются в URL-параметрах)
- Большие данные можно передавать через
InputStreamдля оптимизации памяти - Чтение ответа: данные из body ответа доступны в completion handler
URLSession.dataTask