Scala 如何在akka http中有条件地添加路由路径?

Scala 如何在akka http中有条件地添加路由路径?,scala,akka,akka-http,Scala,Akka,Akka Http,我有一系列的路径,看起来像 path("slides" / Segment) { segment => getFromDirectory(s"${cfg.slidesDir}/$segment") } ~ path("foo" / Segment) { segment => getFromDirectory(s"${cfg.mypyPursDir}/$segment") } ~ path("foo" / "images" / Segment) { segment =>

我有一系列的路径,看起来像

path("slides" / Segment) { segment =>
  getFromDirectory(s"${cfg.slidesDir}/$segment")
} ~
path("foo" / Segment) { segment =>
  getFromDirectory(s"${cfg.mypyPursDir}/$segment")
} ~
path("foo" / "images" / Segment) { segment =>
  getFromDirectory(s"${cfg.mypyPursImageDir}/$segment")
}
在某些运行时条件下,其中一些可能不处于活动状态,例如生产与开发系统。如何实现这一条件?例如,如果有一个虚拟路径没有任何作用,我可以想象用if-else对其进行编码。

使用标准的Scala筛选和列表构建操作创建一个所有路由的列表。然后使用concat创建包含所有选定管线的管线

val allRoutes: List[Route] = ???
val activeRoutes = allRoutes.filter(???)

def route =
  concat(activeRoutes:_*)
我更喜欢concat而不是~来链接路线