Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад

Напишите простое middleware для валидации пользователя

Этот вопрос проверяет умение создавать middleware для обработки запросов в Express.js.

Короткий ответ

Middleware — это функция в Express.js, которая обрабатывает запросы и может изменять их или завершать обработку. Пример middleware для проверки пользователя — проверка наличия данных о пользователе (req.user) перед выполнением маршрута

Длинный ответ

Пример middleware для валидации пользователя:

1. Описание:
Middleware проверяет, есть ли данные о пользователе в запросе, и если их нет, возвращает ошибку. Если пользователь найден, запрос передается дальше.

 

2. Код:

const validateUser = (req, res, next) => {
  const user = req.user;

  if (!user) {
    return res.status(401).json({ error: 'Unauthorized - User not found' });
  }

  next(); // Передать запрос следующему обработчику
};

// Использование middleware в маршруте
app.get('/profile', validateUser, (req, res) => {
  res.json({ message: 'Добро пожаловать', username: req.user.username });
});

 

3, Как работает:

- req.user обычно задается после аутентификации, например, через JWT.

- Если данные отсутствуют, возвращается ошибка 401.

- Если данные корректны, вызывается next(), чтобы перейти к следующему обработчику.

 

4. Преимущества:

- Повышение безопасности.

- Универсальность: можно применять для разных маршрутов.


Middleware — мощный инструмент в Express.js для управления логикой запросов, и валидация пользователя — один из частых сценариев использования.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Express

Ключевые слова

#middleware

#validation

#authorization

#express.js

Подпишись на Node.js Developer в телеграм