Javascript 续集模型查询-为什么不';两条路线不能同时工作吗?

Javascript 续集模型查询-为什么不';两条路线不能同时工作吗?,javascript,express,sequelize.js,Javascript,Express,Sequelize.js,我在Express中玩一些路线,使用Sequelize创建我的模型。 我有两个模型,它们都独立工作。但我希望他们两个同时工作。对于有经验的人来说,可能有一个明显的原因 我的第一条路线按主键获取项目: router.get('/:id', async (req, res) => { try { const categoryData = await Category.findByPk(req.params.id) .then((result) => { r

我在Express中玩一些路线,使用Sequelize创建我的模型。 我有两个模型,它们都独立工作。但我希望他们两个同时工作。对于有经验的人来说,可能有一个明显的原因

我的第一条路线按主键获取项目:

router.get('/:id', async (req, res) => {
  try {
    const categoryData = await Category.findByPk(req.params.id)
    .then((result) => {
      res.status(200).json(result);
    });

  } catch (err) {
    res.status(500).json(err)
  }
});
此查询的示例结果如下所示:

{
  "id": 1,
  "category_name": "Shirts"
}
我的第二条路线通过另一个参数category\u name获得结果

以下是路线:

router.get('/:category_name', async (req, res) => {
  try {
    const categoryData = await Category.findAll({
      where: {category_name: req.params.category_name}
    })
    .then((result) => {
      res.status(200).json(result);
    });

  } catch (err) {
    res.status(500).json(err)
  }
});
结果如下所示:

[
  {
    "id": 2,
    "category_name": "Shorts"
  }
]

但是,我一次只能使用一条路线。如果两条管线都打开,则只有一条或另一条管线工作。为什么???

服务器无法区分两个可变端点路径

您有一个route/:id和另一个/:category\u名称。在测试这些路由时,您可能知道要点击哪个路由,但服务器不知道

考虑向路径添加另一个级别,例如/name/:category\u name和/id/:id