FeathersJS中的非CRUD路线

时间:2018-05-03 12:57:14

标签: javascript feathersjs feathers-sequelize feathers-hook feathers-service

我有一个服务results,可以处理resultsfeathersjs服务的所有CRUD操作。如何创建路由/results/:id/hr_bar_graph,它基本上在该特定id处获取结果,并使用结果数据创建条形图。

我的代码目前是:

module.exports = function (app) {


const Model = createModel(app);
  const paginate = app.get('paginate');

  const options = {
    name: 'results',
    Model,
    paginate
  };



// Initialize our service with any options it requires
  app.use('/results', createService(options));

  app.use('/results/:id/hr_bargraph_image', {
    find(id, params){
      this.app.service('results').get(id)
        .then(function(response){
          console.log(response);
        })
        .cathc(function(error){
          console.log(error);
        })
      return Promise.resolve({
        imageData: ''
      });
    }
  });

  // Get our initialized service so that we can register hooks and filters
  const service = app.service('results');

  service.hooks(hooks);
};

现在已经被困在这里一段时间了。请帮忙。

1 个答案:

答案 0 :(得分:1)

供参考,this issue,答案是使用params.route和Feathers normal find(params)

module.exports = function (app) {
  const Model = createModel(app);
  const paginate = app.get('paginate');

  const options = {
    name: 'results',
    Model,
    paginate
  };

  // Initialize our service with any options it requires
  app.use('/results', createService(options));

  app.use('/results/:id/hr_bargraph_image', {
    async find(params){
      const { id } = params.route;
      const results = await app.service('results').get(id);

      return {
        imageData: ''
      };
    }
  });

  // Get our initialized service so that we can register hooks and filters
  const service = app.service('results');

  service.hooks(hooks);
};