是否有任何loopback 3功能可以帮助修改然后构建过滤器?

问题描述 投票:0回答:1

我需要默认应用一些过滤器。到目前为止,我已达到这一点:

Project.find = function (filter, callback) { return override.apply(this, arguments); }

现在我想在这里应用我的默认过滤器以及用户传递的过滤器。怎么做到这一点?我需要手动处理这个吗?还是有环回3提供的内置解决方案?

loopbackjs
1个回答
0
投票

您可以使用的是find上的'before remote'钩子,您可以访问整个请求体,因此您可以根据系统状态进行修改。例如:

Project.beforeRemote('find', function(ctx, next) {
    console.log('whole request: ', ctx.req);
    console.log('request body: ', ctx.req.body);
    console.log('request params: ', ctx.req.params);
    //... add filtering
    next();
});

否则,如果您希望将过滤应用于每个Project.find(..)调用,则需要使用操作挂钩进行“访问”,但是在上下文中您的信息较少,例如,您没有知道谁在调用命令。

我强烈建议阅读有关operationalremote hooks的优秀环回文档。

© www.soinside.com 2019 - 2024. All rights reserved.