SailsJS:在传递给蓝图之前从 URL 中删除参数

SailsJS: delete parameters from URL before passing to blueprint

我们正在构建一个应用程序,它使用 SailsJS 作为后端,使用 ExtJS 作为前端。 ExtJS 自动将这些参数附加到来自其网格的每个 AJAX 请求: _dc=1421519546371&page=1&start=0&limit=25

我需要在 Sails 端删除这些参数,然后再将它们传递给蓝图操作,以便我可以利用蓝图 REST API。删除这些参数的最佳位置在哪里?我可以将我的 NGINX 反向代理视为一种选择,但我确信在 Sails 中有更好的地方。

在 sails 中,最简单的地方是使用策略删除它们。

RemoveParams.js

module.exports = function(req, res, next) {
    if(req.query._dc) delete req.query._dc
    // ect ....
    next();
};

使用未记录 req.options 的替代方法。我没有用过这个,但它似乎有效并且在评论中被推荐。

module.exports = function(req, res, next) {
    req.options.values.blacklist = ['_dc']
    // or req.options.values.blacklist.push('_dc') ?? 
    next();
};

如果您愿意,也可以添加自己的中间件来替换/删除它们。