我在节点应用程序中使用jSON web令牌(simple-jwt)。我有一个中间件(使用express.js)检查令牌是否为VALal?()并返回用户数据,如果为true。
但是当用户对localhost:8080 / home或任何其他路由发出GET请求时,我需要它返回用户数据(来自tokenValidation中间件)以及localhost:8080 / home的实际内容。我不能两次使用response.json({}),因为这会被视为两个响应。
使用实际的json响应附加用户数据的标准方法是什么?
如果需要代码,请告诉我。
答案 0 :(得分:1)
在中间件中,您可以向req
对象添加新属性。
(req, res, next) => {
const user = ...queryUser
req.user = user;
next();
}
在您的路线处理程序中:
(req, res) => {
const user = req.user;
const otherData = { data : 'junk' };
res.status(200).send({ user, otherData });
}