Ответ
GET — HTTP-метод для получения данных с сервера. Параметры передаются в URL-строке, запрос не имеет тела.
Пример на Swift с URLSession:
func fetchUserProfile(userId: Int) {
// Параметры в URL
let urlString = "https://api.example.com/users/(userId)?fields=name,email"
guard let url = URL(string: urlString) else { return }
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("application/json", forHTTPHeaderField: "Accept")
URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else { return }
// Обработка JSON-ответа
if let json = try? JSONSerialization.jsonObject(with: data) {
print("Получены данные: (json)")
}
}.resume()
}
Характеристики GET-запроса:
- Идемпотентный — повторные запросы не изменяют состояние сервера
- Кэшируемый — ответы могут кэшироваться браузером/CDN
- Ограниченная длина — параметры в URL ограничены ~2000 символов
- Видимый — параметры отображаются в истории браузера, логах
Когда использовать: ✅ Получение данных (списки, детали) ✅ Поиск с фильтрами (параметры в URL) ✅ Статические ресурсы (изображения, CSS)
Когда НЕ использовать: ❌ Передача чувствительных данных (пароли, токены) ❌ Большие объёмы данных (используйте POST с телом) ❌ Операции изменения состояния (используйте POST/PUT/DELETE)