节点JS中的Express路由调用两条路由

时间:2019-12-11 12:06:56

标签: node.js string express parameters express-router

我的项目中有以下路线

router.get('/new', async function(req,res){
});

router.get('/:id', async function (req, res) {
});

当我从邮递员调用/new路由时,这两个路由都在执行。首先执行路由/new,然后调用带有/:id的路由。我不明白为什么它会变得混乱并触发两条路线。请帮忙。预先感谢。

1 个答案:

答案 0 :(得分:0)

这是因为两个端点的路由结构相同。定义路由/:id时,它会在路由中接受一些X值。现在,当您将另一个定义为/new时,express会将new视为X的值,并也调用该路由。解决方法是更改​​路由之一的结构。您应该遵循休息模式以避免此类问题。您可以阅读here

希望这会有所帮助:)