Czym jest API?
Zrozum jak programy komunikują się ze sobą
API = kelner
Ty (klient) zamawiasz danie. Kelner (API) idzie do kuchni (serwer), odbiera danie i przynosi do ciebie. Nie wchodzisz do kuchni — komunikujesz się przez kelnera. API to pośrednik między twoim kodem a danymi na serwerze.
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).