Динамические маршруты в экспрессе на основе внешних данных API - PullRequest
0 голосов
/ 13 января 2019

Мне нужно автоматически генерировать маршруты в приложении expressjs на основе vimeo api

Я подумал, что мне нужно перебрать данные API, сохранить данные в БД и затем извлечь эти данные в промежуточном программном обеспечении. Например:

Запрос 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
      }          
   });

Middleware:

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

Это хороший способ продолжить? Заранее спасибо

1 Ответ

0 голосов
/ 13 января 2019

Создайте функцию, которая принимает два вида как:

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

И затем вызывать это для всех данных

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