Напишите простое 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

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