使用loopback-connector-remote在另一个环回服务中调用自定义方法并不能创建正确的URL

时间:2016-04-26 00:18:32

标签: javascript node.js express loopbackjs strongloop

我尝试连接2个环回服务,让我们说 A B ,使用 loopback-connector-remote 数据源。

B 我有这个自定义远程方法:

/api/B/myModel/myMethod/{id}

如果我在 B 服务上访问API资源管理器,此方法可以正常工作。

然后在 A 服务上我想访问此方法,因此我在远程模型对象上创建了以下配置(在 B 上也是如此):

myModel.remoteMethod(
   'myMethod',
    {
     http: {path: '/myMethod/:id', verb: 'get'},
      accepts: [
       {arg: 'id', type: 'number', required: true}
      ],
      returns: {type: 'object', root: true}
    }
 );

A 我可以对 B 进行任何调用,例如find,findById等。但是当我调用此自定义方法时,我在 A <上出现此错误/强>:

  

strong-remoting:GET / myModel / myMethod / 1231中的rest-adapter错误:错误:id必须是数字

查看 B 中的日志,我看到 A 正在调用此服务:

  

strong-remoting:GET / myModel / myMethod /中的rest-adapter错误:id?id = 1231:错误:id必须是数字

为什么强远程 loopback-connector-remote 在创建URL时没有正确替换ID?我在配置上遗漏了什么吗?

1 个答案:

答案 0 :(得分:1)

需要在 A 服务模型对象中添加远程方法配置的源路径:

{ arg: 'id', type: 'number', required: true, http: { source: 'path' }}