【问题标题】:Hiding a method for a related model隐藏相关模型的方法
【发布时间】:2014-07-31 08:15:44
【问题描述】:

如何隐藏相关模型的方法?

假设在演示应用程序loopback-example-datagraph 中,我不想公开DELETE /customers/{id}/orders 方法。

我该怎么办?

【问题讨论】:

    标签: node.js strongloop


    【解决方案1】:

    对于 loopback 1.x,关系在内部映射到原型方法。要不将其公开为 REST API,请尝试以下操作:

    var customer = app.models.Customer;
    customer.prototype.__delete_orders.shared = false;
    

    【讨论】:

    • 在 loopback-example-datagraph 示例中添加此代码的正确位置。我很难弄清楚 app.models.Customer 最终在哪里可用。
    • 可以在models文件夹中添加一个js文件,比如customer.js。该应用程序可以要求为var app = require('../app');
    【解决方案2】:

    免责声明我从未使用过 StrongLoop

    野刺,但看起来这可能有效。当您添加一个关系时,它会向底层模型类添加一个方法。当您添加一个有很多时,它会添加此方法

    customer.orders.destroyAll(function(err) {
      ...
    });
    

    来源:http://docs.strongloop.com/display/DOC/Creating+model+relations#Creatingmodelrelations-Methodsaddedtothemodel.1

    你应该可以说类似

    var customer = app.models.Customer;
    customer.orders.destroyAll.shared = false;
    

    【讨论】:

      猜你喜欢
      • 2012-06-20
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      • 2018-02-06
      • 2017-06-13
      • 1970-01-01
      • 2019-10-31
      相关资源
      最近更新 更多