gpt4 book ai didi

javascript - Sequelize 模型查询 - 为什么两条路线不能同时工作?

转载 作者:行者123 更新时间:2023-12-03 22:24:18 26 4
gpt4 key购买 nike

我正在 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_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"
}
]
但是,我一次只能使用一条路线。如果两条路线都打开,则只有其中一条有效。为什么??

最佳答案

服务器无法区分两个可变端点路径。
您有一个路由/:id 和另一个/:category_name。在测试这些路由时,您可能知道要命中哪一个,但服务器不知道。
考虑向路径添加另一个级别,例如/name/:category_name 和/id/:id。

关于javascript - Sequelize 模型查询 - 为什么两条路线不能同时工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67571341/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com