0
Koodi Прогрес
Поточний:0 днів
Рекорд:0 днів
Без активності
Активний день
Сьогодні
🔌

API для початківців

Навчись отримувати дані з інтернету та створювати свої API!

🤔 Що таке API?

API (Application Programming Interface) — це "офіціант" між твоїм додатком і сервером. Ти замовляєш дані — API приносить!

🦉
Кудик пояснює:

Уяви ресторан: ти (додаток) не йдеш на кухню (сервер) сам. Ти кажеш офіціанту (API) що хочеш — і він приносить готову страву (дані)!

📱
Твій додаток "Хочу погоду!"
→ запит →
🤵
API "Зараз принесу!"
→ запит →
🖥️
Сервер База даних
← дані ←
Результат! +25°C, сонячно
🌤️

Погодні сервіси

Прогноз для будь-якого міста

💳

Платіжні системи

Stripe, PayPal, LiqPay

🗺️

Карти

Google Maps, Mapbox

🤖

AI сервіси

ChatGPT, переклади, розпізнавання

📚
Хочеш глибше?

Вивчи JavaScript з нуля на наших курсах — там є практичні завдання з API! А якщо потрібна швидка підказка — заглянь у шпаргалки.

🌐 REST API та HTTP методи

REST — це архітектурний стиль для API. Він використовує стандартні HTTP методи:

📥 GET

Отримати дані

Прочитай інформацію з сервера. Не змінює нічого!

GET /api/users → список юзерів
📤 POST

Створити нове

Відправ дані на сервер для створення.

POST /api/users → створити юзера
✏️ PUT

Оновити

Зміни існуючі дані на сервері.

PUT /api/users/1 → оновити юзера
🗑️ DELETE

Видалити

Видали дані з сервера.

DELETE /api/users/1 → видалити юзера

📊 Коди відповідей

Сервер відповідає числовим кодом — він говорить чи все ок:

200
OK — Все чудово!
201
Created — Створено!
301
Redirect — Переїхав
400
Bad Request — Щось не так
404
Not Found — Не знайдено
500
Server Error — Сервер впав

📦 JSON — мова API

JSON (JavaScript Object Notation) — формат даних, яким API обмінюється інформацією. Наведи мишку на рядки:

{
"name": "Олена", Ім'я користувача (рядок)
"age": 22, Вік (число)
"isStudent": true, Чи студент (boolean)
"skills": ["HTML", "CSS", "JS"], Навички (масив рядків)
"contacts": { Контакти (вкладений об'єкт)
"email": "olena@dev.com",
"github": "olena-dev"
}
}
🦉
Кудик пояснює:

JSON схожий на JavaScript об'єкти, але ключі завжди в лапках. Це універсальний формат — його розуміють всі мови програмування!

fetch() — отримуємо дані

fetch() — вбудована функція JavaScript для роботи з API. Натисни "Play", щоб побачити як це працює крок за кроком:

🎬 Анатомія fetch() запиту

1
Відправляємо запит
const response = await fetch('https://api.example.com/data');
2
Перетворюємо в JSON
const data = await response.json();
3
Використовуємо дані!
console.log(data); // { name: "Олена", age: 22 }

🔄 Два способи: .then() vs async/await

😐 .then() — старий спосіб
fetch('https://api.com/data')
  .then(res => res.json())
  .then(data => {
    console.log(data);
  })
  .catch(err => {
    console.error(err);
  });
😍 async/await — сучасний спосіб
async function getData() {
  try {
    const res = await fetch('url');
    const data = await res.json();
    console.log(data);
  } catch (err) {
    console.error(err);
  }
}
Використовуй async/await!

Код читається як звичайний текст — зверху вниз. Це сучасний стандарт, який використовують всі!

🧪 Спробуй API прямо зараз!

Натисни кнопку — і отримай реальні дані з API прямо тут:

🔬

Live API Tester

Обери API для тестування:

👆 Натисни кнопку, щоб отримати дані з API
💻
Спробуй сам у Playground!

Відкрий Koodi Playground і напиши свій fetch() запит. А якщо щось не зрозуміло — запитай AI Помічника Кудика!

📚 Каталог безкоштовних API

Ось найкращі безкоштовні API для твоїх проєктів:

Без ключа
🌤️

OpenWeather

Погода в будь-якому місті світу. Ідеально для першого проєкту!

api.openweathermap.org/data/2.5/weather
Без ключа
😂

JokeAPI

Випадкові жарти. Простий, без реєстрації!

v2.jokeapi.dev/joke/Any
Без ключа
🐶

Dog API

Випадкове фото собаки. Миловидно!

dog.ceo/api/breeds/image/random
Потрібен ключ
🎬

TMDB (Movies)

База фільмів і серіалів. Постери, рейтинги!

api.themoviedb.org/3/movie/popular
Без ключа
🧮

JSONPlaceholder

Фейкові дані для тестування. Юзери, пости, коментарі.

jsonplaceholder.typicode.com/posts
Без ключа
🎨

Unsplash

Безкоштовні красиві фото для проєктів.

api.unsplash.com/photos/random
🚀
Зроби проєкт з API!

Спробуй створити Weather App або Генератор жартів на Koodi Fast — готові проєкти з покроковими інструкціями!

🏗️ Створюємо свій API

А тепер створимо простий API на Node.js + Express!

server.js
const express = require('express');
const app = express();

// Масив з даними
const todos = [
  { id: 1, task: "Вивчити API", done: false },
  { id: 2, task: "Зробити проєкт", done: false },
  { id: 3, task: "Захостити сайт", done: true },
];

// GET — отримати всі задачі
app.get('/api/todos', (req, res) => {
  res.json(todos);
});

// GET — отримати одну задачу
app.get('/api/todos/:id', (req, res) => {
  const todo = todos.find(t => t.id === +req.params.id);
  todo ? res.json(todo) : res.status(404).json({ error: "Не знайдено" });
});

// Запускаємо сервер
app.listen(3000, () => {
  console.log('🚀 API працює на http://localhost:3000');
});
Terminal
$npm init -y
$npm install express
$node server.js
🚀 API працює на http://localhost:3000
Відкрий: http://localhost:3000/api/todos
📚
Хочеш більше Node.js?

Пройди курс Node.js на Koodi — там є повний проєкт REST API з базою даних! А стаття "Node.js у VS Code" допоможе налаштувати все.

🚀 Ідеї проєктів з API

Ось проєкти, які ти можеш зробити прямо зараз:

🌤️

Weather App

Введи місто — отримай погоду. OpenWeather API + fetch()

😂

Генератор жартів

Натисни кнопку — отримай жарт. JokeAPI

🎬

Пошук фільмів

Шукай фільми та серіали. TMDB API

📸

Галерея фото

Красиві фото з Unsplash API

💱

Конвертер валют

Курси валют в реальному часі

📰

Стрічка новин

Останні новини з News API

🚀 Зроби проєкт на Koodi Fast →
💼
Додай до портфоліо!

Проєкт з API — це ідеальний кандидат для твого портфоліо. Захости його на Vercel або Netlify — і покажи роботодавцю!

📋 Підсумок

🔌

API

Інтерфейс для обміну даними між додатками

📦

JSON

Формат даних: ключ-значення в фігурних дужках

fetch()

Вбудована функція JS для HTTP запитів

🔄

async/await

Сучасний спосіб працювати з асинхронним кодом