【问题标题】:Cannot hide updateAttributes method无法隐藏 updateAttributes 方法
【发布时间】:2014-11-10 21:53:09
【问题描述】:

相关:StrongLoop: hiding method updateAttributes(),但接受的答案并不能解决我的问题。

我已按照入门指南进行了基本的应用设置。在这个应用程序中,我唯一的模型称为 Pharmacy,我想从它的 REST API 中隐藏所有变异函数(即删除、更新、创建...)。

我正在按照文档 (http://docs.strongloop.com/display/public/LB/Exposing+models+over+REST#ExposingmodelsoverREST-HidingmethodsandRESTendpoints) 中的说明进行操作。虽然我可以很好地隐藏静态函数,但无论我做什么,updateAttributes 方法仍然会暴露出来。

我已将隐藏逻辑放在 common/models/pharmacy.js 中。如文档所示,将其放置在 server/pharmacy.js 中没有任何作用,因为该文件甚至没有加载。

common/models/pharmacy.js的内容是:

module.exports = function(Pharmacy) {
        Pharmacy.sharedClass.find('deleteById', true).shared = false;
        Pharmacy.sharedClass.find('updateAttributes', false).shared = false;
        Pharmacy.sharedClass.find('upsert', true).shared = false;
        Pharmacy.sharedClass.find('create', true).shared = false;
};

我做错了什么?提前致谢!

【问题讨论】:

    标签: loopbackjs


    【解决方案1】:

    在来自开发人员的一封非常有用的电子邮件之后,设法解决了这个问题。该文件应如下所示:

    module.exports = function(Pharmacy) {
            Pharmacy.disableRemoteMethod('deleteById', true);
            Pharmacy.disableRemoteMethod('updateAttributes', false);
            Pharmacy.disableRemoteMethod('updateAll', true);
            Pharmacy.disableRemoteMethod('upsert', true);
            Pharmacy.disableRemoteMethod('create', true);
    };
    

    【讨论】:

      猜你喜欢
      • 2014-07-30
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 2021-09-27
      • 2017-10-31
      相关资源
      最近更新 更多