我无法在中间件中读取任何req.params。我有一个看起来像一个最小的快速Web服务器
'use strict';
var express = require('express');
var app = express();
//middleware
function userMiddleware(req, res, next) {
console.log('user came in. Hello ' + req.param('name'));
next();
}
//register middleware
app.use('/user', userMiddleware)
// routes
app.get('/user/:name', function(req, res) {
res.send('username : ' + req.params.name);
});
app.listen(3000);
console.log("listening on 3000...");
当我尝试访问localhost:3000 / user / williams时,我希望在日志中看到:
user came in. Hello williams
但我明白了
user came in. Hello undefined
我是否应该包括任何其他中间件,以便req.params填充在中间件中?我正在使用[email protected]
我认为app.param()
在这种情况下是非常规的,而且不是很直观。由于我已经具有代表中间件的功能,因此我可以这样做:
//middleware
function userMiddleware(req, res, next) {
console.log('user came in. Hello ' + req.params.name);
next();
}
// routes
app.get('/user/:name', userMiddleware, function(req, res) {
res.send('username : ' + req.params.name);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句