我尝试连接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?我在配置上遗漏了什么吗?
答案 0 :(得分:1)
需要在 A 服务模型对象中添加远程方法配置的源路径:
{ arg: 'id', type: 'number', required: true, http: { source: 'path' }}