Я нашел app.locals
, чтобы решить мою проблему при передаче полезной нагрузки токена на весь маршрут.
Полезная нагрузка содержит userId
, который мне нужно будет передать на весь маршрут, а затем он будет передан наТело ProductModel
, для которого требуется userId
.
. Как вы можете видеть из приведенного ниже кода, я создаю промежуточное ПО, которое установит locals
, а затем по маршруту я передам этот locals.token
вProductModel
.
См. пример кода ниже.
auth.js (промежуточное ПО)
let decoded = await jwt.verify(token, config.secret);
res.locals.token = decoded;
productRoute.js (маршрут)
router.post('/', auth, async (req, res) => {
req.body.userId = res.locals.token._id;
const result = await ProductModel.postProduct(req.body);
}
Мои вопросы:
- Существует ли эффективный или другой способ передачи полезной нагрузки токена на весь маршрут?
- будет ли
locals
переопределяться, если будет больше пользователей, которые будут одновременно использовать API?