Как разделить маршруты с параметром запроса и без него? - PullRequest
0 голосов
/ 25 апреля 2020

Простой вопрос, как я могу установить маршруты так, чтобы он шел по правильному маршруту,

app.get("/:post",(req,res) => {})

И

app.get("/post",(req,res) => {})

Это происходит, когда я набираю "/ post", сервер сбит с толку, если ему нужно go на "/ post" маршрут или "/: post". Это относится к подобным маршрутам "/ publi sh" "/ logout" "/login".

Пожалуйста, поделитесь знаниями о том, как это исправить, спасибо.

Ответы [ 3 ]

1 голос
/ 25 апреля 2020

Если вы используете указанные ниже маршруты, вам нужно передать немного parameters в ваш URL

app.get("/:post",(req,res) => {})

Но если вы ищете маршруты, которые ничего не возвращают из URL тогда вы использовали следующие маршруты

app.get("/post",(req,res) => {})

Итак, если вы используете 1 маршрут, вам нужно передать parameters в ваш URL

0 голосов
/ 25 апреля 2020

Порядок маршрутов также важен в этом случае. Это может быть решено путем определения маршрута app.get("/post",(req,res) => {}) до app.get("/:post",(req,res) => {}). В этом случае, если вы набрали что-то вроде http://localhost:3000/..../post, убедитесь, что он будет go на маршрут /post, а остальные вызовы - на следующий маршрут.

.................. app.get("/post",(req,res) => {}) app.get("/:post",(req,res) => {}) ...........................

Если мы делаем как выше, тогда сервер не запутается, я думаю.

0 голосов
/ 25 апреля 2020

Это потому, что /:post соответствует ресурсам, которые вы упоминаете (/post, /publish, /logout et c). Чтобы решить эту проблему, используйте существительное перед символом подстановки, например /post/:post. Таким образом, вы избежите двусмысленности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...