【发布时间】:2016-06-17 12:01:34
【问题描述】:
下面的代码:
router.use('/campaigns/:campaign_uid', cache.node_cache, api_dynamic_campaign.router);
我有一个到另一个路由器的路由器路由,如下所示:
router.get('/data.json', campaigns);
处理程序如下所示:
function campaigns(request, response){
var campaign = api.get_campaign_from_request(request) || request.params.campaign_uid;
api.route_handler(request, response, {"campaign":campaign});
}
我的问题是处理程序无权访问 request.params 中的campaign_uid。 如何访问/传递campaign_uid 给处理程序?
【问题讨论】:
-
您的中间件可以向
req对象添加属性,并且这些属性将可以被链中的其他路由处理程序访问。这就是许多中间件处理程序已经为 cookie 和查询参数等所做的事情...... -
我相信这就是 app.param 或 router.param 的用途。