ExpressJS маршрутизатор с параметром пусто - PullRequest
0 голосов
/ 08 апреля 2020

Я работаю над своим первым API отдыха с NodeJS, используя ExpressJS. Это очень просто и интуитивно понятно. Одно из моих правил маршрутизации:

api.get("/api/plugin/:action", (req,res) => { ... }

Если я отправлю:

http://localhost:3000/api/plugin

Я получил ошибку:

Cannot get /api/plugin/

Есть ли способ перехватить это один случай, исключая маршрутизацию без: action? Мне нужно проверить req.param и проверить параметр действия, даже если он пуст.

Ответы [ 2 ]

2 голосов
/ 08 апреля 2020

вы можете использовать ? в маршруте, чтобы сделать ваш параметр необязательным

api.get("/api/plugin/:action?", (req,res) => { ... }
1 голос
/ 08 апреля 2020

У вас есть 2 варианта:

1) использовать необязательный параметр пути с *, например

api.get("/api/plugin/:action?", (req,res) => { ... }

2) использовать параметры запроса, например:

api.get("/api/plugin/", (req,res) => { ... }

и позвоните:

http://localhost:3000/api/plugin?action=

и зарегистрируйтесь req.query object

...