Skip to main content

Що таке маршрут (route) в Express?

1. Що таке маршрут (Route)

Маршрут (route) в Express.js - це зіставлення між:

  • HTTP-методом (GET, POST, PUT, DELETE, …);
  • URL-шляхом (/, /users, /api/products/:id);
  • і функцією-обробником (handler), яка виконується, коли запит відповідає цьому маршруту.

Іншими словами: маршрут каже Express: "Якщо надійшов запит GET /users, виконай ось цей код."

Приклад найпростішого маршруту

javascript
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Головна сторінка'); }); app.get('/about', (req, res) => { res.send('Про нас'); }); app.listen(3000, () => console.log('Сервер запущено'));

Якщо відкрити в браузері:

  • http://localhost:3000/Головна сторінка
  • http://localhost:3000/aboutПро нас

2. Формат маршруту

javascript
app.METHOD(PATH, HANDLER)
ЕлементЩо цеПриклад
METHODHTTP-метод (у нижньому регістрі)get, post, put, delete
PATHШлях, на який реагує маршрут'/', '/users', '/users/:id'
HANDLERФункція (req, res) - обробник(req, res) => res.send('OK')

3. Приклади різних маршрутів

GET - отримати дані

javascript
app.get('/users', (req, res) => { res.send('Список користувачів'); });

POST - створити

javascript
app.post('/users', (req, res) => { res.send('Користувача створено'); });

PUT - оновити

javascript
app.put('/users/:id', (req, res) => { res.send(`Користувача ${req.params.id} оновлено`); });

DELETE - видалити

javascript
app.delete('/users/:id', (req, res) => { res.send(`Користувача ${req.params.id} видалено`); });

4. Динамічні маршрути

Маршрути можуть містити параметри - вони позначаються через :ім'я.

javascript
app.get('/products/:id', (req, res) => { res.send(`Продукт з ID: ${req.params.id}`); });

GET /products/123 → відповідь: Продукт з ID: 123

Параметри можна отримати через req.params.

5. Групування маршрутів (Router)

Для організації коду зручно виносити маршрути в окремі файли через express.Router():

javascript
const express = require('express'); const router = express.Router(); router.get('/', (req, res) => res.send('Список товарів')); router.get('/:id', (req, res) => res.send(`Товар ${req.params.id}`)); module.exports = router;

В основному файлі:

javascript
const productsRouter = require('./routes/products'); app.use('/products', productsRouter);

Тепер GET /products і GET /products/123 обробляються цим модулем.

6. Маршрути можуть мати кілька обробників

Можна передавати кілька функцій (middleware), які виконуються послідовно:

javascript
app.get('/admin', (req, res, next) => { console.log('Перевірка авторизації...'); next(); }, (req, res) => { res.send('Адмін-панель'); } );

7. Підтримка шаблонів і RegExp у маршрутах

Express підтримує шаблонні маршрути й регулярні вирази:

javascript
app.get('/ab*cd', (req, res) => { res.send('Збіг із шаблоном /ab*cd'); });

Спрацює для /abcd, /ab123cd, /abXYZcd тощо.

8. Підсумок

Маршрут (route) в Express.js - це правило, яке каже серверу, як реагувати на конкретний HTTP-запит.

Він складається з:

  • HTTP-методу (GET, POST, PUT, DELETE та ін.),
  • шляху (/, /users/:id),
  • функції-обробника ((req, res)).

Маршрути:

  • керують логікою застосунку;
  • підтримують динамічні параметри;
  • можуть об'єднуватися в модулі через Router;
  • підтримують middleware й шаблонні шляхи.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.