#javascript #node.js #express
#javascript #node.js #экспресс
Вопрос:
У меня есть этот запрос 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) => {});
По какой-то причине всегда срабатывает первая конечная точка, а не вторая.
Комментарии:
1. Как Экспресс узнает об этой
api/courses/
части маршрута?2. @Christian Об этом позаботились в server.js файл
Ответ №1:
Вам нужно добавить статический маршрут перед динамическим маршрутом
Вот так:
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
<— this как id
и обрабатывает запрос соответствующим образом и get_public_course_data_by_id
никогда не выполняется.