如何覆盖 sailsjs 中的所有蓝图查找操作
How to override all blueprint find actions in sailsjs
无论模型如何,每当调用蓝图查找操作时,我都想要一些代码 运行。我可以想到三种方法,none 我可以弄清楚如何实施。
覆盖所有蓝图查找操作。理论上,在我的路线中我想要 get * overridingController.find
之类的东西。此函数中的 from 执行我的操作,然后调用蓝图查找挂钩。
使用中间件运行在控制器的动作之后。我没有看到 sails 有可以在操作后 运行 修改响应的中间件。
在某个事件上触发函数 运行,例如blueprint.find 或 res.send。我没有看到这些活动。
对于谷歌员工,我通过政策解决了这个问题。我仍然想找到一种方法 运行 在 蓝图操作之后 做一些事情。
module.exports = async function (req, res, proceed) {
if (req.options.model && /\/find$/.test(req.options.action)) {
// do stuff
proceed(); // if you want to
} else {
proceed();
}
};
无论模型如何,每当调用蓝图查找操作时,我都想要一些代码 运行。我可以想到三种方法,none 我可以弄清楚如何实施。
覆盖所有蓝图查找操作。理论上,在我的路线中我想要
get * overridingController.find
之类的东西。此函数中的 from 执行我的操作,然后调用蓝图查找挂钩。使用中间件运行在控制器的动作之后。我没有看到 sails 有可以在操作后 运行 修改响应的中间件。
在某个事件上触发函数 运行,例如blueprint.find 或 res.send。我没有看到这些活动。
对于谷歌员工,我通过政策解决了这个问题。我仍然想找到一种方法 运行 在 蓝图操作之后 做一些事情。
module.exports = async function (req, res, proceed) {
if (req.options.model && /\/find$/.test(req.options.action)) {
// do stuff
proceed(); // if you want to
} else {
proceed();
}
};