FeathersJS:具有快速路由参数的呼叫服务

FeathersJS:具有快速路由参数的呼叫服务,feathersjs,Feathersjs,我的服务定义如下: app.use(`/teams/:${id}/members`, teamsMembersService); 现在我想从另一个服务调用此服务。根据文档,我可以使用app对象访问不同的服务。 像这样: let result = await app.service('teams').find(); 这很有效。不幸的是,这并不是: let result = await app.service('teams/1/members').find(); 因为服务是未定义的 如何使用路

我的服务定义如下:

app.use(`/teams/:${id}/members`, teamsMembersService);
现在我想从另一个服务调用此服务。根据文档,我可以使用app对象访问不同的服务。 像这样:

let result = await app.service('teams').find();
这很有效。不幸的是,这并不是:

let result = await app.service('teams/1/members').find();
因为服务是未定义的

如何使用路由参数调用此服务

等待app.service('teams/1/members').find()将起作用,但在其他情况下不起作用。在服务器上,您可以在
params
中传递
id

app.service(`/teams/:${id}/members`).find({ id })
通过Socket.io使用(通常是一个好主意)是将参数添加到
params.query

app.service(`/teams/:${team_id}/members`).hooks({
  before: {
    find(hook) {
      if(hook.params.team_id) {
        hook.params.query.team_id = hook.params.team_id;
      }
    }
  }
})
现在你可以做了

app.service(`/teams/:${id}/members`).find({ query: { team_id: id } })