Node.js express中间件修改请求
目前,我有一个正在运行的服务器,前端使用nodejs、mongo、express和W2UI。 W2ui请求以包含所有参数的记录数组形式出现 记录[名称]:fooNode.js express中间件修改请求,node.js,mongodb,express,w2ui,Node.js,Mongodb,Express,W2ui,目前,我有一个正在运行的服务器,前端使用nodejs、mongo、express和W2UI。 W2ui请求以包含所有参数的记录数组形式出现 记录[名称]:foo 我想编写一个中间件,在请求到达路由之前对其进行编辑和更改。您可以创建自己的中间件来处理请求。我创建了一个中间件,将当前服务器时间添加到请求中,如下所示 var addDate = function(req, res, next) { req.body.date = new Date(); next(); } app.get('
我想编写一个中间件,在请求到达路由之前对其进行编辑和更改。您可以创建自己的中间件来处理请求。我创建了一个中间件,将当前服务器时间添加到请求中,如下所示
var addDate = function(req, res, next) {
req.body.date = new Date();
next();
}
app.get('/', addDate, function(req, res) {
res.send(req.body);
});
现在,我可以将此中间件用于以下所有请求:
app.use(addDate);
或者去这样一条特殊的路线
var addDate = function(req, res, next) {
req.body.date = new Date();
next();
}
app.get('/', addDate, function(req, res) {
res.send(req.body);
});
get请求的响应将是
{
"date": "2017-01-31T11:46:37.003Z"
}
您可以在http.js中执行此操作,创建一个函数以您想要的方式修改请求,然后按如下顺序排列:-
order: [
'startRequestTimer',
'cookieParser',
'session',
'bodyParser',
'xframe',
'handleBodyParserError',
'**myRequestLogger**',
'compress',
'methodOverride',
// 'poweredBy',
'$custom',
'router',
'ravenRequestHandler',
'ravenErrorHandler',
'www',
'favicon',
'404',
'500'
],
myrequestLogger是在此处记录请求的函数