Express 路由器正则表达式问题
Express router regex issue
我在我的项目中使用 express router,我遇到了以下问题,
我有2条路线如下
router.get("/user/:id", (req, res) => {
console.log("---- ABCD ---");
});
router.get("/user/list", (req, res) => {
console.log("---- PQRS ---");
});
当我调用时,http://localhost:3000/user/list api,ABCD 打印在控制台而不是 PQRS 中。
我知道我们可以在路由器中编写正则表达式来处理这种情况。我尝试使用以下代码。
router.get("/user/:id(!list$)", (req, res) => {
console.log("----- ABCD ----");
}
进行此更改后,/user/:id api 停止工作。但是 /user/list api 正在工作
如果我做错了什么,请告诉我。谢谢!
问题不在于正则表达式,而在于。重新排序您的路由定义,以便动态路由位于底部。见下方代码
router.get("/user/list", (req, res) => {
console.log("---- PQRS ---");
});
router.get("/user/:id", (req, res) => {
console.log("---- ABCD ---");
});
我在我的项目中使用 express router,我遇到了以下问题,
我有2条路线如下
router.get("/user/:id", (req, res) => {
console.log("---- ABCD ---");
});
router.get("/user/list", (req, res) => {
console.log("---- PQRS ---");
});
当我调用时,http://localhost:3000/user/list api,ABCD 打印在控制台而不是 PQRS 中。
我知道我们可以在路由器中编写正则表达式来处理这种情况。我尝试使用以下代码。
router.get("/user/:id(!list$)", (req, res) => {
console.log("----- ABCD ----");
}
进行此更改后,/user/:id api 停止工作。但是 /user/list api 正在工作
如果我做错了什么,请告诉我。谢谢!
问题不在于正则表达式,而在于。重新排序您的路由定义,以便动态路由位于底部。见下方代码
router.get("/user/list", (req, res) => {
console.log("---- PQRS ---");
});
router.get("/user/:id", (req, res) => {
console.log("---- ABCD ---");
});