gpt4 book ai didi

javascript - 在 express 路由器和中间件之间传递数据

转载 作者:行者123 更新时间:2023-11-30 14:23:22 24 4
gpt4 key购买 nike

我正在尝试编写快速中间件来检查授权 header 中 JWT 的有效性。这看起来很简单,但我不希望它在所有路由上运行(例如,不在登录/注册路由器上)。

因此,我想在路由器声明中指定路由应该需要有效 token 。例如。像这样

const controllers = require('../controllers');

module.exports = (app) => {

app.post('/auth/signup', controllers.auth.signup.post);
app.post('/auth/login', controllers.auth.login.post);

app.get('/teams', controllers.teams.get, {requiresToken:true});

};

除此之外,.post 和 .get 不采用第三个参数, Controller 只采用 (req,res,next) 参数,所以我无法真正看到为每条路线传递起始数据的方法。我确定我错过了一些简单的东西

最佳答案

这就是我如何创建一个中间件来将数据传递给

module.exports = function(options) {
return function (req, res, next) {
//write your code here
// here you can access options variable
console.log(options.data)
next();
}
}

你怎么称呼那个中间件是这样的

app.use(middleware({'data' : 'Test'}));

基于路由使用

app.post('/userRegistration', middleware({'data' : 'Test'}), (req, res) => {});

关于javascript - 在 express 路由器和中间件之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52358701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com