Sails.js 在查找蓝图中禁用查询参数

Sails.js disable query params in find blueprint

目前正在清理我的 sails 后端中的一些代码,我不太确定如何正确配置特定控制器的蓝图。

所以我希望我的端点之一始终 return 只有最后 10 个结果,并禁用 limit/find/where 作为查询参数的能力。到目前为止,我只是通过覆盖控制器中的查找来完成此操作,但我想知道是否有配置蓝图的方法。

我在控制器 _config 中添加了以下内容,它允许设置默认值,但仍然可以替换为 ?limit=15。

_配置:{ 排序:'id_str desc', 限制:5 }

谢谢。

您可以编写一个根据对模型的查找请求执行的策略。

api/policies/limitResults.js

module.exports = function(req, res, next) {
  req.query.limit = 10;
  req.query.sort = 'id_str desc';
  return next();
}

config/policies.js

ModelController: {
  'find': ['limitResults']
}

这应该会覆盖请求的限制参数并按降序对结果进行排序。