Express.js — один из самых популярных фреймворков для Node.js, когда нужно быстро поднять REST API. Он легковесный, понятный и отлично подходит как для учебных проектов, так и для production-разработки.
Что такое REST API
REST API — это интерфейс, через который клиент обменивается данными с сервером по HTTP. Чаще всего используются методы:
- GET — получить данные
- POST — создать запись
- PUT/PATCH — обновить
- DELETE — удалить
1. Установка Express.js
Создайте проект и установите зависимости:
mkdir express-api
cd express-api
npm init -y
npm install express
2. Базовый сервер ⚙️
Создайте файл app.js:
const express = require('express');
const app = express();
app.use(express.json());
app.get('/', (req, res) => {
res.json({ message: 'API работает' });
});
app.listen(3000, () => {
console.log('Сервер запущен на порту 3000');
});
express.json() нужен, чтобы сервер умел читать JSON в теле запроса.
3. Создание REST API для списка задач 📦
const express = require('express');
const app = express();
app.use(express.json());
let tasks = [
{ id: 1, title: 'Изучить Express.js' },
{ id: 2, title: 'Сделать REST API' }
];
app.get('/tasks', (req, res) => {
res.json(tasks);
});
app.get('/tasks/:id', (req, res) => {
const task = tasks.find(t => t.id === Number(req.params.id));
if (!task) return res.status(404).json({ error: 'Задача не найдена' });
res.json(task);
});
app.post('/tasks', (req, res) => {
const newTask = {
id: tasks.length + 1,
title: req.body.title
};
tasks.push(newTask);
res.status(201).json(newTask);
});
app.put('/tasks/:id', (req, res) => {
const task = tasks.find(t => t.id === Number(req.params.id));
if (!task) return res.status(404).json({ error: 'Задача не найдена' });
task.title = req.body.title;
res.json(task);
});
app.delete('/tasks/:id', (req, res) => {
tasks = tasks.filter(t => t.id !== Number(req.params.id));
res.status(204).send();
});
app.listen(3000);
4. Что важно в реальном проекте 🛠️
- Проверяйте входные данные через
Joi,zodилиexpress-validator - Выносите роуты в отдельные файлы
- Добавляйте обработку ошибок через middleware
- Подключайте базу данных: PostgreSQL, MongoDB, MySQL
- Используйте
dotenvдля переменных окружения
5. Как тестировать API 🔍
Для проверки удобно использовать:
- Postman
- Insomnia
- curl
- Thunder Client в VS Code
Почему Express.js выбирают так часто 💡
- низкий порог входа
- гибкая архитектура
- огромное сообщество
- подходит для микросервисов и backend для SPA/mobile
Если нужен быстрый старт в backend на Node.js, связка Express + REST API остаётся одним из самых практичных вариантов.
📚 Загляните также в подборку каналов про IT — там много полезного по backend, JavaScript, DevOps и разработке в целом.