What is an API?
Understand how programs communicate with each other
API = waiter
You (the client) order a dish. The waiter (API) goes to the kitchen (server), picks up the dish and brings it to you. You don't go into the kitchen — you just communicate through the waiter. An API is an intermediary between your code and the data on the server.
HTTP методи — команди для сервера
| Метод | Дія | Коли використовувати |
|---|---|---|
| GET | Отримати дані | Завантажити список, прочитати запис |
| POST | Створити новий запис | Зареєструватись, відправити повідомлення |
| PUT | Замінити запис повністю | Оновити весь профіль |
| PATCH | Оновити частково | Змінити лише email |
| DELETE | Видалити запис | Видалити пост, скасувати замовлення |
fetch() за замовчуванням робить GET-запит.
response.ok === true якщо статус 200-299. Статуси 404 (не знайдено), 500 (помилка сервера) — response.ok буде false, але fetch не кине помилку автоматично.
Що таке JSON
JSON (JavaScript Object Notation) — текстовий формат для передачі даних між клієнтом і сервером. Виглядає як об'єкт JS, але:
- Ключі в подвійних лапках (обов'язково)
- Немає функцій, undefined, коментарів
- Рядок, а не об'єкт
// JSON рядок (від сервера):
const jsonString = '{"name":"Іван","age":25,"city":"Київ"}';
// Перетворити JSON в JS об'єкт:
const obj = JSON.parse(jsonString);
console.log(obj.name); // Іван
// Перетворити JS об'єкт в JSON (для відправки):
const backToJson = JSON.stringify(obj);response.json() — це вже робить JSON.parse автоматично!
POST запит передає дані через body. headers вказує тип вмісту. JSON.stringify перетворює об'єкт в рядок для передачі.
Золоте правило: завжди перевіряй response.ok після fetch. fetch кидає помилку ТІЛЬКИ при мережевих проблемах (немає інтернету, CORS). Помилки сервера (404, 500) — потрібно перевіряти вручну через if (!response.ok) throw new Error(response.status).