Express.js: app.param(param, callback)没有触发?

Express.js: app.param(param, callback) not fired for ?param=

本文关键字:param js app Express callback      更新时间:2023-09-26

我想使用Express app.param()功能,像这样:

app.route('/blueprints/:subject?/:date?/:lang?')
  .get(blueprints.query);
app.param('subject', blueprints.filterBySubject);
app.param('date', blueprints.filterByDate);
app.param('lang', blueprints.filterByLang);

它适用于/blueprints/abc/2014-02-02/en,但在使用/blueprints?subject=abc&date=2014-02-02&lang=en时不着火。是我做错了什么,这是一个bug还是它应该工作的方式?

删除问号…

app.route('/blueprints/:subject/:date/:lang')

和(只是为了更好的风格)我喜欢把app.param放在顶部