使用req.data在中间件中从中间件传递到控制器的值不起作用?

问题描述 投票:0回答:2

项目演示结构

  • 中间件
    • auth.js
  • 路线
    • user.js
  • 控制器
    • userController.js

auth.js

exports.authUser=(req,res,next)=>{
...
//got user value somehow and it's fine
req.user=user;
return next();
}

user.js(路线)

server.get("/users",authUser,userController.userList);
}

userController.js(控制器)

exports.userList=(req,res,next)=>{
console.log(req.user);
...
}

日志输出为undefined

重新验证中传递值的实际方法是什么?

  • 也尝试过restify.plugins.pre.context方式。
  • 在下一个函数中尝试传递值。
  • 尝试在[]上放置功能>
  • server.get("/users",[authUser,userController.userList]);

项目演示结构中间件auth.js路由user.js控制器userController.js auth.js export.authUser =(req,res,next)=> {... {//以某种方式获得用户价值,很好req.user =用户; ...

javascript node.js express controller restify
2个回答
1
投票

例如,当将data添加到req.data时,并且如果从数据库或其他服务中检索所添加的数据可能会花费一些时间,然后确保


1
投票
user.js (route)
server.get("/users",authUser,function (req, res) {
    userController.userList(req, function (result) {
        res.send(result)
    })
})
userController.js (Controller)

exports.userList=(req,callback)=>{
   console.log(req.user);
   callback(null)
}
© www.soinside.com 2019 - 2024. All rights reserved.