在事件驱动的架构中,如何路由到请求处理程序

时间:2019-05-07 10:59:28

标签: node.js typescript routing event-handling

我想基于后端服务中的事件来实现路由。这个想法是,如果调用诸如“ GET / items /:id”之类的路由,则会使用路由路径,请求和响应对象触发一个事件,以便我的路由系统可以将调用路由到适当的请求处理程序。 / p>

我构建了一个简单的映射器,将路由路径映射到诸如

的处理函数。
{ "GET /items/": handlerFunc }

当我不使用任何请求参数时,它很好用,但是对于使用参数的路由却不可用。从理论上讲,我将必须将每个可能的项目ID映射到同一处理程序:

{ 
  "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”

对于基于事件的路由,Express中是否内置了某些内容?

0 个答案:

没有答案