К практике
НачальныйExpressreq.params404
НачальныйExpressreq.params404
Параметры маршрута
Читаем :id из URL и находим нужный объект в массиве.
Нажми на любой элемент диаграммы для объяснения
Шаг 1 из 2
1
Параметры в URL — динамические маршруты
Зачем нужны параметры в URL?
Представь, что у тебя 1000 пользователей. Ты не будешь писать 1000 маршрутов! Вместо этого один маршрут с переменной частью:
javascript
/users/1 → пользователь с id=1
/users/42 → пользователь с id=42
/users/99 → пользователь с id=99Синтаксис Express
Двоеточие : перед именем означает "это переменная":
js
app.get('/users/:id', (req, res) => {
// ^^^
// :id — это «слот», туда подставится любое значение из URL
console.log(req.params.id); // "42" ← строка! Всегда строка
});Важно: req.params.id — это всегда строка, даже если в URL стоит цифра.
Для сравнения с числом нужно преобразование: parseInt(req.params.id)
Код 404 — ресурс не найден
Если пользователь запросил id=999, которого нет — нужно вернуть 404:
js
const user = USERS.find(u => u.id === id);
if (!user) {
return res.status(404).json({ error: 'User not found' });
}
res.json(user); // 200 OK по умолчаниюНиже — код сервера с этим маршрутом. Напиши функцию findUserById на следующем шаге.
javascript
const USERS = [
{ id: 1, name: 'Алиса', role: 'Frontend' },
{ id: 2, name: 'Боб', role: 'Backend' },
{ id: 3, name: 'Вася', role: 'DevOps' },
];
app.get('/users/:id', (req, res) => {
const id = parseInt(req.params.id); // строка → число
const user = findUserById(id, USERS);
if (!user) return res.status(404).json({ error: 'User not found' });
res.json(user);
});