Тестування API без фронтенду

Postman / Apidog / браузер — інструменти, щоб перевіряти HTTP-запити та відповіді
GET
POST
PUT
DELETE
JSON
Status Codes
Headers

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