API та інтеграції
Що таке REST API?
REST API — це найпоширеніший стиль побудови вебAPI, у якому кожен об’єкт системи має свою адресу, а дію з ним задає HTTP-метод: GET — отримати, POST — створити, PUT — змінити, DELETE — видалити.
Адреса описує ресурс, а метод — операцію. Запит GET /users/42 повертає дані користувача, а DELETE /users/42 видаляє його. У відповіді є дані, зазвичай у форматі JSON, і код статусу: 200 — успіх, 404 — об’єкт не знайдено, 401 — немає авторизації.
Ще одна важлива властивість REST — відсутність стану: кожен запит самостійний і містить усе потрібне, зокрема токен авторизації. Сервер не пам’ятає попередніх запитів, і це спрощує масштабування.
Де застосовується
REST — фактичний стандарт для зв’язку фронтенду з бекендом і сервісів між собою. На ньому побудовані публічні API GitHub, Stripe, Telegram і більшість корпоративних систем. У Java REST API пишуть контролерами Spring Boot, у Python — на FastAPI чи Django REST Framework, у Node.js — на Express.
Навколо REST склалися і робочі інструменти. Розробник описує методи в OpenAPI і отримує готову документацію, QA-інженер збирає колекції запитів у Postman, автоматизатор пише перевірки на REST Assured чи requests, а DevOps за кодами відповідей стежить, чи справно працює сервіс.
Приклад
Мобільний застосунок банку показує історію операцій: запит GET /accounts/42/transactions?limit=20 повертає двадцять останніх операцій і код 200. Якщо токен прострочений, приходить код 401, і застосунок непомітно для користувача оновлює токен і повторює запит.
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer <token>
{
"name": "Анна",
"email": "anna@example.com"
}
HTTP/1.1 201 Created
Location: /api/users/42
{
"id": 42,
"name": "Анна",
"email": "anna@example.com"
}
Часті запитання
Чим REST відрізняється від SOAP?
SOAP — суворий протокол на основі XML з обов’язковим описом контракту і власними правилами безпеки. REST — набір домовленостей поверх звичайного HTTP, зазвичай із JSON. SOAP ще зустрічається в банках і державних системах, а нові публічні API майже завжди роблять на REST.
Що означають коди відповіді 401 і 403?
401 означає, що сервер не впізнав вас: токен не передано, він прострочений або неправильний. 403 — вас впізнали, але прав на цю дію немає. У першому випадку допомагає повторна авторизація, у другому — зміна прав користувача, а повторювати запит немає сенсу.
Чи обов’язково REST API повертає JSON?
Ні, формат не є частиною REST. Майже завжди це JSON, бо він компактний і підтримується всюди, але той самий метод може повернути XML, CSV чи файл. Потрібний формат клієнт вказує в заголовку Accept.
Що таке ідемпотентність запиту?
Ідемпотентний запит можна повторити кілька разів, і результат буде той самий. Такими задумані GET, PUT і DELETE, а POST — ні: два однакові POST-запити створять два замовлення. Тому повторну відправку платежів захищають унікальним ключем операції.
Навчання програмуванню в OWU
Опануйте професію в IT на практичних курсах із менторами та реальними проєктами.
Обрати курс