18.02.2025
5 хвилин читання

Покрокове керівництво зі створення REST API на Node.js

Що таке REST API та його роль у Node.js

REST (Representational State Transfer) – це архітектурний стиль, який використовується для побудови веб-сервісів, заснованих на HTTP-протоколі. Коли йдеться про node.js rest api, то здебільшого ми говоримо про створення серверних застосунків, які можуть приймати й обробляти запити від клієнта.

У контексті Node.js це ідеальний вибір, оскільки це – асинхронне середовище виконання, яке ідеально підходить для роботи з великою кількістю запитів. А навчитися працювати в цій платформі ти можеш на курсах програмування FoxmindEd.

FoxmindEd запрошує розробників-початківців освоїти Node.js на курсах менторингу! Менторинг у нас – формат, що базується повністю на практичних завданнях і підтримці досвідчених менторів.
Деталі курсу

Принципи роботи

REST API працює так: сервер обробляє запити, надіслані клієнтом, і повертає відповідь у вигляді даних (найчастіше у форматі JSON). Усі взаємодії відбуваються через HTTP, а сервіс використовує його методидля визначення того, що саме потрібно зробити з ресурсом:

  • GET – отримання даних.
  • POST – створення нового ресурсу.
  • PUT – оновлення даних.
  • DELETE – видалення ресурсу.

Node.js з його асинхронною моделлю дає змогу обробляти велику кількість паралельних запитів без значних втрат продуктивності.

Приклади створення REST API на Node.js

Можна почати з простого прикладу. Для обробки GET-запиту на /users, сервер може повернути список користувачів. Такий функціонал можна реалізувати в кілька рядків коду, якщо використовуємо Express – мінімалістичну і гнучку бібліотеку для Node.js.

const express = require('express');

const app = express();

const PORT = 3000;

app.get('/users', (req, res) => {

    res.json([{ id: 1, name: 'John Doe' }]);

});

app.listen(PORT, () => {

    console.log(`Server running on port ${PORT}`);

});

Простий node.js api приклад, чи не так? Але це всього лише початок!

Маршрутизація в Node.js API

Як працює маршрутизація в Node.js

Це такий процес, за якого запити спрямовуються на відповідні обробники. У цій платформі маршрути задаються за допомогою бібліотек, таких як Express, і визначають, які дії слід вжити при отриманні запиту на певний URL.

Коли ми говоримо про node.js api маршрутизація, варто зазначити, що маршрути можуть бути динамічними, приймати параметри, і навіть працювати з різними HTTP-методами для виконання різних завдань. Наприклад, можна налаштувати маршрути так, щоб при GET-запиті на /users/:id сервер повертав інформацію про користувача з конкретним ID.

Налаштування маршрутів для API за допомогою Express

Для початку роботи з маршрутизацією необхідно створити сервер і задати маршрути. Приклад простого сервісу з кількома маршрутами:

app.get('/users', (req, res) => {

    res.json([{ id: 1, name: 'Alice' }]);

});

app.get('/users/:id', (req, res) => {

    const userId = req.params.id;

    res.json({ id: userId, name: `User ${userId}` });

});

Тут ми створюємо два маршрути: один – для отримання списку користувачів, а інший – для отримання даних користувача за ID.

Приклад маршрутизації

Припустимо, у нас є складніша структура. Ми можемо налаштувати кілька маршрутів для опрацювання різних дій з користувачами, наприклад, додавання нового користувача або видалення наявного:

app.post('/users', (req, res) => {

    // Creating a new user

    res.json({ message: 'User created' });

});

app.delete('/users/:id', (req, res) => {

    const userId = req.params.id;

    res.json({ message: `User ${userId} deleted` });

});

Маршрути, що працюють із даними, дають нам повний контроль над тим, як користувачі взаємодіють із сервісом.

Створення API в Node.js

Основи створення API в Node.js з Express

Express – це фреймворк, який спрощує створення сервісу. З його допомогою можна швидко налаштувати маршрути, обробку запитів і відповіді. Важливо розуміти, що нам потрібні не тільки маршрути, а й можливості для роботи з даними.

Розглянемо приклад node.js api створення:

const express = require('express');

const app = express();

app.use(express.json()); // To process JSON request bodies

app.post('/users', (req, res) => {

    const newUser = req.body;

    res.status(201).json(newUser);

});

Тут ми використовуємо метод POST для створення нового користувача. Ми також додаємо middleware express.json() для автоматичної обробки тіла запитів у форматі JSON.

Приклад створення простого API на Node.js

Припустимо, нам потрібно створити складнішу модель із базою даних. Розглянемо приклад з використанням Node.js Express API і фреймворка Mongoose для взаємодії з MongoDB.

const mongoose = require('mongoose');

const express = require('express');

const app = express();

app.use(express.json());

mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true });

const userSchema = new mongoose.Schema({

    name: String,

    email: String,

});

const User = mongoose.model('User', userSchema);

app.post('/users', async (req, res) => {

    const user = new User(req.body);

    await user.save();

    res.status(201).json(user);

});

Такий підхід дає змогу легко будувати додатки, які можуть взаємодіяти з базою даних, зберігаючи та витягуючи дані. Це вже повноцінний сервіс, що працює з базою даних, і його можна масштабувати й адаптувати для складніших завдань.

Асинхронна робота із запитами в API

Робота з асинхронними запитами – важливий аспект під час створення REST API Node.js. Використовуючи такі можливості, як проміси і async/await, можна гарантувати, що запити до сервера виконуватимуться ефективно і не блокуватимуть основний потік виконання.

Підпишіться на наш Ютуб-канал! Корисні відео для програмістів чекають на вас! YouTube
Оберіть свій курс програмування! Шлях до кар’єри програміста починається тут! Подивитись

Найкраща практика розробки REST API в Node.js

Оптимізація API для продуктивності

Під час розробки сервісу важливо пам’ятати про продуктивність. Оптимізація може включати використання кешування, обмеження кількості запитів (rate limiting), а також вибір правильної структури даних для мінімізації навантаження на сервер.

Як тестувати і налагоджувати API

Тестування – ключова частина розробки. Для цього можна використовувати такі інструменти, як Postman або Jest для юніт-тестів. Це допомагає переконатися, що маршрути працюють правильно, і допомагає швидко знаходити баги.

Оброблення помилок і винятків в API

Не забувай про правильну обробку помилок. На серверній платформі це можна робити за допомогою middleware, який перехоплює всі необроблені помилки і повертає відповідний статус код. Це забезпечить більш стабільну роботу сервісу та кращу взаємодію з користувачем.

Висновок

Усе, що ми розглянули, – це основи створення та розробки REST API з Node.js. За допомогою Express ти можеш швидко запустити сервер і налаштувати маршрути для обробки запитів. Якщо слідувати найкращим практикам, твій сервіс буде не тільки функціональним, а й високоефективним.

Что я думаю про Node.js?
FAQ
REST API - це архітектурний стиль для взаємодії веб-сервісів, що використовує HTTP-протокол.
GET (читання), POST (створення), PUT (оновлення), DELETE (видалення).
Завдяки асинхронній моделі Node.js обробляє безліч запитів одночасно, забезпечуючи високу продуктивність.
Express - це популярний фреймворк, що спрощує створення API.
Для тестування використовують інструменти, такі як Postman або Jest.
Включають оптимізацію продуктивності, обробку помилок, кешування і тестування.

✨ Залишилися запитання щодо створення REST API на Node.js? Запитуйте в коментарях нижче!

Додати коментар

Ваш імейл не буде опубліковано. Обов'язкові поля відзначені *

Зберегти моє ім'я, імейл та адресу сайту у цьому браузері для майбутніх коментарів