Условия параметров экспресс-маршрутов
у меня есть маршрут, на моей Экспресс-приложение, которое выглядит так:
app.get('/:id', function (request, response) {
…
});
идентификатор всегда будет рядом. Однако на данный момент этот маршрут соответствует другим вещам, таким как /login
.
Я думаю, что я хочу две вещи из этого:
- использовать этот маршрут только в том случае, если ID-это число, и
- только если нет маршрута для этого конкретного параметра, уже определенного (например, столкновение с
/login
).
может это будет сделано?
3 ответа:
расширяя ответ Мариуса, вы можете указать регулярное выражение и имя параметра:
app.get('/:id(\d+)/', function (req, res){ // req.params.id is now defined here for you });
да, проверьте http://expressjs.com/guide/routing.html и https://www.npmjs.com/package/path-to-regexp (который экспресс использует). Непроверенная версия, которая может работать:
app.get(/^(\d+)$/, function (request, response) { var id = request.params[0]; ... });