首页 > 解决方案 > ExpressJs:触发了错误的 api 端点

问题描述

我有这个 api 请求:

http://localhost:5000/api/courses/get_public_course_data_by_id?course_id=454545

我有这两条 ExpressJs 路线:

router.get("/:id", (req, res) => {});
router.get("/get_public_course_data_by_id", (req, res) => {});

出于某种原因,触发的始终是第一个端点,而不是第二个。

标签: javascriptnode.jsexpress

解决方案


您需要在动态路由之前添加静态路由

像这样:

router.get("/get_public_course_data_by_id", (req, res) => {}); // 1st this
router.get("/:id", (req, res) => {}); // then this

原因是,节点路由器假设get_public_course_data_by_id<-- 这是id并相应地处理请求并且get_public_course_data_by_id永远不会执行。


推荐阅读