【问题标题】:How Can I Create a Loopback Remote Method with a Model Schema?如何使用模型模式创建环回远程方法?
【发布时间】:2015-03-05 01:49:54
【问题描述】:

我目前正在构建一个环回应用程序,它只有一个名为 Phone 的模型。这是我的common/models/phone.js 代码:

module.exports = function(Phone) {

  // Return a random phone's data.
  Phone.random = function(callback) {
    return callback(null, {
      id: '12345',
      number: '+18182179222',
      name: 'Randall Degges'
    });
  };

  Phone.remoteMethod('random', {
    description: 'Return a random phone.',
    accepts: [],
    returns: [
      //{ type: 'object', root: true, description: 'return value' },
      { arg: 'id', type: 'string', description: 'phone id', required: true, root: true },
      { arg: 'number', type: 'string', description: 'phone number', required: true, root: true },
      { arg: 'name', type: 'string', description: 'phone name', required: false, root: true }
    ],
    http: {
      verb: 'get', path: '/random',
    }
  });

};

当我在端口 3000 上打开我的 API 资源管理器并查看我新创建的 random API 调用时,我看到以下内容:

正如您在上面看到的,我的“模型架构”是空的。嘘!

我想要完成的是类似于内置 API 方法的东西,看起来像这样:

正如您在上面看到的,“模型架构”显示了 API 调用的实际输出将是什么样子。

我正在尝试弄清楚如何使用我的远程端点来完成此任务,但到目前为止还没有运气。

欢迎提出任何建议。

奖励积分:有没有办法简单地告诉 Loopback 我的返回值只是一个已经定义的模型?就我而言,我所做的只是返回一个现有的 Phone 模型,因此最好让 Loopback 以某种方式知道这一点并让它相应地自动生成文档。

谢谢!

【问题讨论】:

    标签: node.js loopbackjs


    【解决方案1】:

    尝试使用以下命令运行您的应用:

    DEBUG=loopback:explorer:routeHelpers 节点。

    您将能够看到使用内置 API 方法的返回选项

    您必须使用在返回参数中的 common/models 目录中定义的模型结构,例如

    返回:[{arg:"data",type:"Mymodels",root:true}]

    【讨论】:

      【解决方案2】:

      对于您的奖励积分:

      当您调用remoteMethod() 时,您必须指定要返回的模式的模型:

      returns: { arg: 'data', type: 'Phone', root: true}

      额外:如果想要的模式是另一个模型,你也必须要求它,以避免“未定义”错误:

      module.exports = function(Model1) {
           var app = require('../../server/server');
      
           Model1.someMethod = function(args, cb) {
               var Model2 = app.models.Model2;
                   [...] 
               }
      

      【讨论】:

        猜你喜欢
        • 2017-06-13
        • 2017-08-07
        • 2017-04-06
        • 1970-01-01
        • 2015-09-24
        • 1970-01-01
        • 1970-01-01
        • 2016-11-17
        • 1970-01-01
        相关资源
        最近更新 更多