如何使用feathersjs声明内部服务而不需要restful?

Zha*_* Yi 1 node.js feathersjs

FeathersJS 提供了一种在 Nodejs 之上创建 Restful API 的好方法。但我还没有找到一种方法来创建在我的应用程序内部使用的服务而不需要休息。

下面是代码示例:

const myService = {
  find(params [, callback]) {},
  get(id, params [, callback]) {},
  create(data, params [, callback]) {},
  update(id, data, params [, callback]) {},
  patch(id, data, params [, callback]) {},
  remove(id, params [, callback]) {},
  setup(app, path) {}
}

app.use('/my-service', myService);
Run Code Online (Sandbox Code Playgroud)

在其他服务中,它们可以用来app.service('/my-service')引用该服务实例。但它还在myService实例上公开了一个 Restful API。如何在不暴露的情况下创建服务?我只想在我的应用程序中使用该服务。

Daf*_*aff 5

您可以使用带有(或或) 参数的disallow挂钩来禁用外部访问:externalrestsocketio

const { disallow } = require('feathers-hooks-common');
const myService = {
  async find(params) {},
  async get(id, params) {},
  async create(data, params) {},
  async update(id, data, params) {},
  async patch(id, data, params) {},
  async remove(id, params) {},
  setup(app, path) {}
}

app.use('/my-service', myService);

app.service('my-service').hooks({
  before: disallow('external')
});
Run Code Online (Sandbox Code Playgroud)