javascript - 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) => {});
出于某种原因,触发的始终是第一个端点,而不是第二个。
解决方案
您需要在动态路由之前添加静态路由
像这样:
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
永远不会执行。
推荐阅读
- java - 如何在java中声明数组以键入long?
- javascript - 如何防止 jQuery 的 insertAfter() 方法复制我正在移动的 HTML?
- java - reflections.getTypesAnnotatedWith 在 Tomcat 上运行良好,但在 Weblogic 上运行良好
- php - 使用 PHP 向使用 Gmail API 发送的电子邮件添加密件抄送
- javascript - 如何在vue中按条件包装html代码而不重复代码?
- android - 最佳实践 Android 包名和 IOS bundleID
- python-3.x - 将处理后的 CSV 文件导入 Pandas 数据框
- python - 如何考虑 Word2Vec 和其他预处理的词对/短语
- swift - 等到另一个进程完成
- vba - 设置变量 VBA 时出现运行时错误 91