对于模型定义product.js,我的api端点如下所示
api / products / 9720?id_shop = 1&id_lang = 1
我需要访问product.js中的id_shop来应用where子句,然后从产品表中获取记录。
Product.observe('access', function (ctx, next) {
next();
});
Run Code Online (Sandbox Code Playgroud)
我将如何访问id_shop和id_lang?
小智 4
您可以使用远程方法创建自定义端点:
https://docs.strongloop.com/display/public/LB/Remote+methods
如果您确实想更改 Model.find() 的默认行为,可以使用 Loopback.getCurrentContext() ,然后为每个 GET 请求注入过滤器:
Product.on('dataSourceAttached', function(obj){
var find = Product.find;
Product.find = function(filter, cb) {
var id_shop = loopback.getCurrentContext().active.http.req.query.id_shop;
filter = {where:{id_shop: id_shop}};
return find.apply(this, arguments);
};
});
Run Code Online (Sandbox Code Playgroud)
这将覆盖传入的任何过滤器,因此您需要使用额外的逻辑来处理它。
| 归档时间: |
|
| 查看次数: |
3008 次 |
| 最近记录: |