【发布时间】:2017-08-11 09:41:19
【问题描述】:
这是 ebayApi.handleParams :
handleParams : (req, res, next) => {
for(var param in req.params){
for(var key in ebayApi.request){
param == key ? ebayApi.request[key] = req.params[param] : key = key
}
}
next();
},
当我这样做时
app.use(ebayApi.handleParams);
中间件被执行,但 req.params 内部的值不同
app.get( '/search', (req, res) => {
});
所以我不得不像这样使用中间件
app.get( '/search', ebayApi.handleParams, (req, res) => {
});
有办法解决吗?每当我创建新路由时,我都想摆脱所有额外的输入。它是一个需要应用于所有传入请求的中间件。
【问题讨论】:
-
我猜你实际上想使用
req.query而不是req.params。此外,您的代码看起来对并发使用不是很有弹性,因为它看起来像ebayApi.request没有绑定到特定请求。
标签: node.js express middleware