基于外部api数据的Express动态路由

时间:2019-01-13 10:25:31

标签: api express routing vimeo

我需要基于vimeo api在expressjs应用上自动生成路由

我认为我需要遍历api数据,将数据保存在db中,然后在中间件中检索该数据。例如:

Api请求:

    const Vimeo = require("vimeo").Vimeo;
    let client = new Vimeo("CLIENT_ID", "CLIENT_SECRET", "TOKEN");

    client.request(
     {
       method: "GET",
       path: "/my/path/videos"
     },
      function(error, body, status_code, headers) {
       if (error) {
        console.log(error);
       }
       let data = body.data;

      for (var i = 0; i < data.length; i++) {
        // save data in the db
      }          
   });

中间件:

app.use('/videos/:name', (req, res, next) {
    if (req.params.name === myDBdata) {
        console.log('It works!');
        next();
    } else {
      // error code
    }
});

这是进行下去的好方法吗?预先感谢

1 个答案:

答案 0 :(得分:0)

制作一个需要两个参数的函数:

function makeRoute(path, handler) {
      return app.use(path, handler)
}

然后为每个数据调用它

makeRoute('test', (req, res) => { })