如何在没有restful的情况下使用feathersjs声明内部服务?
How to use feathersjs to declare internal services without restful?
FeathersJS 提供了一种在 nodejs 之上创建 restful API 的好方法。但是我还没有想出一种方法来创建在我的应用程序内部使用的服务,而无需 restful。
下面是一个代码示例:
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);
在其他服务中,他们可以使用 app.service('/my-service')
来引用该服务实例。但它还在 myService
实例上公开了一个 restful API。如何在不公开的情况下创建服务?我只想在我的应用程序中使用该服务。
您可以使用带有 external
(或 rest
或 socketio
)参数的 disallow 挂钩来禁用外部访问:
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')
});
FeathersJS 提供了一种在 nodejs 之上创建 restful API 的好方法。但是我还没有想出一种方法来创建在我的应用程序内部使用的服务,而无需 restful。
下面是一个代码示例:
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);
在其他服务中,他们可以使用 app.service('/my-service')
来引用该服务实例。但它还在 myService
实例上公开了一个 restful API。如何在不公开的情况下创建服务?我只想在我的应用程序中使用该服务。
您可以使用带有 external
(或 rest
或 socketio
)参数的 disallow 挂钩来禁用外部访问:
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')
});