Loopbackjs 无数据源的环回模型

Loopbackjs 无数据源的环回模型,loopbackjs,Loopbackjs,我想创建一个具有非常复杂逻辑的环回模型,不可能映射到任何数据源。因此,我只想以某种方式在JS中生成CRUD方法框架,并能够简单地覆盖它们,如下所述: 从外部看,它应该可以像任何RESTAPI一样访问,所有的CRUD和其他方法都是环回中的典型方法 我还将应用ACL、授权和所有的东西,就像平常一样 我应该如何进行? 这个案例是否有正式记录? CRUD方法是否有正式的文档记录,以便我可以安全地覆盖它们?环回节点API有文档记录 只需重写您提供的链接中的方法。您需要在重写的方法中匹配原始方法的节点AP

我想创建一个具有非常复杂逻辑的环回模型,不可能映射到任何数据源。因此,我只想以某种方式在JS中生成CRUD方法框架,并能够简单地覆盖它们,如下所述:

从外部看,它应该可以像任何RESTAPI一样访问,所有的CRUD和其他方法都是环回中的典型方法

我还将应用ACL、授权和所有的东西,就像平常一样

我应该如何进行? 这个案例是否有正式记录?
CRUD方法是否有正式的文档记录,以便我可以安全地覆盖它们?

环回节点API有文档记录

只需重写您提供的链接中的方法。您需要在重写的方法中匹配原始方法的节点API,但除此之外,没有任何限制。ACL与之解耦,因此在这方面无需担心


但是,我不知道您打算如何在不使用数据源的情况下编写无状态环回应用程序,因为状态存储在这里。如果您的环回应用程序不是无状态的,请记住它不会扩展(不能在集群中启动多个实例),并且在崩溃时会做一些令人讨厌的事情。你不能把问题分解/简化吗?

你可以用命令创建它。请确保选择:

  • 数据源:(无数据源)
  • 型号:型号
  • 是的
  • 公共/服务器:公共
这将在公共/模型内创建文件。您也可以手动执行此操作。无数据源模型基本上由以下文件内容组成:

test.json test.js 这将创建一个名为/test的路由,其中包含一个名为“greet”的函数

{
  "name": "test",
  "base": "Model",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {},
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": {}
}
'use strict';

module.exports = function(Test) {
    Test.greet = function(msg, cb) {
      cb(null, 'Greetings... ' + msg);
    }

    Test.remoteMethod('greet', {
          accepts: { arg: 'msg', type: 'string' },
          returns: { arg: 'greeting', type: 'string' }
    });
};