0
以下代码逻辑。我发现“checkLogin”,“checkAuthorization”在user.load之前被调用。有没有人可以教我如何更改代码,以便users.load首先被调用?快速应用路由的顺序
app.param('userId', users.load);
app.get('/users/:userId', checkLogin, checkAuthorization, users.show)
以下代码逻辑。我发现“checkLogin”,“checkAuthorization”在user.load之前被调用。有没有人可以教我如何更改代码,以便users.load首先被调用?快速应用路由的顺序
app.param('userId', users.load);
app.get('/users/:userId', checkLogin, checkAuthorization, users.show)
由于app.param
映射逻辑路由参数(见http://expressjs.com/4x/api.html#app.param)你好像在/users/:userId
是缺少一个冒号。
但是,如果路线/users/userId
是正确的,并且您不想要参数,那么您不应该使用app.param
。相反,你可以注册一个通用的中间件功能,以处理任何你想要之前谈到做处理get
(定义app.get
之前做到这一点):
app.use(function(request, response, next){
// do stuff
next();
});
对不起,我在原来的职位无缘结肠。我确实需要一个参数作为'userId',并期望在调用'get'中间件之前首先调用参数处理程序。我想'app.param'处理程序将在'app.get'中间件之前被调用。 – user3627466