如何使用模型架构创建环回远程方法?

rde*_*ges 13 node.js loopbackjs

我目前正在构建一个环回应用程序,它只有一个名为的模型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',
    }
  });

};
Run Code Online (Sandbox Code Playgroud)

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

Loopback Explorer中的随机API调用

如上所示,我的"模型架构"是空的.Booo!

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

Loopback Explorer中的工作API调用

如上所示,"Model Schema"显示了API调用的实际输出结果.

我正试图弄清楚如何用我的远程端点完成这个,但到目前为止没有运气.

欢迎任何建议.

奖励积分:有没有办法简单地告诉回环,我的返回值只是一个已定义的模型?在我的情况下,我所做的只是返回一个现有的Phone模型,所以让Loopback知道某种程度并让它自动生成相应的文档会很好.

谢谢!

小智 13

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

DEBUG = loopback:explorer:routeHelpers节点.

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

必须使用returns参数中common/models目录中定义的模型结构

收益: [{arg:"data",type:"Mymodels",root:true}]