如何使用feathersjs来宣布内部服务而不用安宁?

时间:2017-01-04 00:40:05

标签: 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);

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

1 个答案:

答案 0 :(得分:1)

您可以使用external挂钩和rest(或socketioconst { 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') }); )参数来禁用外部访问:

/* define variable (this is a macro STRING) */
%let date=201612;

/* convert to SAS date value (numeric, num of days since 01JAN1960) */
%let dateval=%sysfunc(mdy(%substr(&date,5,2),1,%substr(&date,1,4)));

/* finally - shift to beginning of following month and format output */
%let xdat2_ii=%sysfunc(intnx(MONTH,&dateval,1,B),yymmddd10.);

%put &xdat2_ii;  /* 2017-01-01 */