getFromDirectory(s"${cfg.slidesDir}/$segment")-6ren">
gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 02:07:49 26 4
gpt4 key购买 nike

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

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 过滤和 List 构建操作创建您想要的所有路由的 List。然后使用 concat 创建包含所有选定路由的路由。

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

def route =
concat(activeRoutes:_*)

我更喜欢 concat 而不是 ~ 来链接路由。

关于scala - 如何在akka-http中有条件地添加路由路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61459886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com