单个 API 是否有可能在 Node JS 中处理多个请求?

Is it possible a single API handles multiple requests in Node JS?

我的目标是创建一个 API 来处理多个请求。通过这样做,我需要像这样将一个字符串作为 argument 传递给 url of API

// index.js in client
fetch(`http://localhost:4000/routerName/${tableName}`).then()

// router.js
router.get(`/${tableName_from_client_page}`, (req, res) => { // Do Something })

问题是,浏览器无法连接到目标页面,除非我为每个匹配的 tableNames.

创建一个全新的 APIs

我希望我的 API 通过接收 tableName 作为其 /url 来处理多个请求。

有什么技巧可以解决这个问题吗?

这是我的整个路由器的样子:

// Router
const express = require('express'),
      db = require('./db.js'),
      router = express.Router();

router.get('/table', (req, res) => {
  db.loadTable('SELECT * FROM someTable', res);
}) // Handles only one request on the name of url; /table

router.get(`/${tableName_from_client_page}`, (req, res) => {
  db.loadTable(`SELECT * FROM ${tableName_from_client_page}`, res)
}) // Handles multiple requests, depending on its argument.

module.exports = router;
// Router
const express = require('express'),
      db = require('./db.js'),
      router = express.Router();

router.get('/table', (req, res) => {
  db.loadTable('SELECT * FROM someTable', res);
}) // Handles only one request on the name of url; /table

router.get('/tables/:tableName', (req, res) => {
  db.loadTable(`SELECT * FROM ${req.params.tableName}`, res)
}) // Handles multiple requests, depending on its argument.

module.exports = router;
    // Router
    const express = require('express'),
          db = require('./db.js'),
          router = express.Router();

这个API只会处理一个请求“/table”。

    router.get('/table', (req, res) => {
      db.loadTable('SELECT * FROM someTable', res);
    })

要处理多个请求,请查看下面的代码 但要确保write this API last in the route file,如果你在“/table”API之前写这个API那么你的"/table" request也会被这个[=19处理=].

    router.get('/:table_name', (req, res) => {
      db.loadTable(`SELECT * FROM ${req.params.table_name}`, res)
    }) 
        
    module.exports = router;