Как мне маршрутизировать к обработчику запросов, в архитектуре, управляемой событиями - PullRequest
0 голосов
/ 07 мая 2019

Я хочу реализовать маршрутизацию на основе событий в моем бэкэнд-сервисе. Идея состоит в том, что если вызывается маршрут типа «GET / items /: id», событие запускается с путем маршрута, объектом запроса и ответа, так что моя система маршрутизации может направить вызов соответствующему обработчику запроса.

Я строю простой маппер, который отображает путь маршрута в функцию-обработчик, такую ​​как

{ "GET /items/": handlerFunc }

Это работает хорошо, когда я не использую параметры запроса, но не подходит для маршрутов, которые используют параметры. Теоретически мне пришлось бы сопоставить каждый возможный идентификатор элемента одному и тому же обработчику:

{ 
  "GET /items/123": handlerFunc,
  "GET /items/456": handlerFunc
}

что помешано.

Я хочу иметь возможность предоставить конфигурацию, такую ​​как:

{
  "GET /items": handlerFunc,
  "GET /items/:id": otherHandlerFunc
}

Так что, когда такое событие, как

{
  path: "GET /items/123,
  req: {...},
  res: {...}
}

испускается, моя система маршрутизации должна быть в состоянии вызвать otherHandlerFunc(req, res).

Есть ли что-то, что помогло бы мне достичь моей цели?

Может быть, что-то вроде парсера экспресс-URL, который отображает "GET / items / 123" на "GET / items /: id" ?

Или что-то встроенное в экспресс для маршрутизации на основе событий?

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