1) Навіщо це потрібно
- Фронтенд ще не готовий — але сервер вже має працювати.
- Ми перевіряємо, що API повертає правильні дані і правильні коди.
- Це базовий навик для роботи: “підняв бек — перевірив запити”.
Ключова ідея: Backend = набір URL, які приймають HTTP-запити і повертають відповіді (часто JSON).
2) Postman vs Apidog vs браузер — що коли використовувати
Postman найпопулярніший стандарт
- Зручні колекції запитів
- Body/Headers/Auth/Tests
- Легко демонструвати викладачу
Apidog схожий, часто “легший”
- Теж колекції, тести, документація
- Зручний для командної роботи
- Може “вести” API як документацію
Браузер тільки для GET
Браузер зручно перевіряє GET запити, але не підходить для POST/PUT/DELETE так зручно, і майже не дає контролю над headers/body.
3) Що ми бачимо в запиті і відповіді
Запит (Request)
- Метод: GET/POST/PUT/DELETE
- URL: наприклад /users
- Headers: Content-Type, Authorization
- Body: JSON (для POST/PUT)
Відповідь (Response)
- Status code: 200 / 201 / 400 / 404 / 500
- Body: JSON або текст
- Time: скільки мс
4) Мінімальний набір HTTP кодів (те, що треба знати на курсі)
- 200 OK — все добре (часто GET).
- 201 Created — створили ресурс (часто POST).
- 400 Bad Request — неправильні дані (валідація/JSON).
- 404 Not Found — URL або ресурс не знайдено.
- 500 Server Error — помилка на сервері (ваш код впав).
5) Приклади запитів для нашої практичної (User API)
GET Отримати всіх користувачів
GET http://localhost:8080/users
Очікуємо: status 200 + JSON масив.
POST Створити користувача
Headers: Content-Type: application/json
POST http://localhost:8080/users
{
"name": "Ivan",
"email": "ivan@test.com"
}
Очікуємо: status 201 або 200 + JSON з даними користувача.
GET Отримати користувача по id (якщо є)
GET http://localhost:8080/users/1
Очікуємо: status 200 або 404, якщо такого id немає.
DELETE Видалити користувача (якщо є)
DELETE http://localhost:8080/users/1
Очікуємо: status 204 або 200.
6) Типові помилки студентів (і як їх швидко зловити)
- Connection refused → сервер не запущений або не той порт.
- 404 Not Found → неправильний URL або @RequestMapping.
- 415 Unsupported Media Type → не вказано Content-Type: application/json.
- 400 Bad Request → JSON кривий або не відповідає DTO.
- 500 Server Error → дивимось консоль Spring (stacktrace).
7) Міні-завдання на 5 хвилин (щоб зайняти групу)
Зробіть у Postman/Apidog:
- 1) GET /users (перевірити, що сервер відповідає)
- 2) POST /users — створити 2 користувачів
- 3) GET /users — переконатися, що вони з’явилися
- 4) Зробити скрін з результатом і прикріпити в звіт
Хто зробив швидше — додає ще один endpoint (GET /users/{id}).
Далі: налаштовуємо endpoints у Controller та тестуємо їх у Postman