来自字符串的动态PathMatcher

时间:2019-03-06 02:00:14

标签: scala akka-http

我有一个测试服务器,该服务器在运行时获取期望,并在调用期望时做出相应的响应。期望值存储在state中。这是路线:

val route: Route = ctx => {
  val routes = state.map { case (pathString, responses) =>
    get {
      path(pathString) {
         ...
      }
    }
  }
  concat(routes: _*)(ctx)
}

当预期路径没有任何斜线时(例如, foo.html。但是当它具有更完整的路径时,例如foo/bar.html,则该指令将不匹配。

如何正确地将给定的路径字符串转换为PathMatcher

我尝试过pathString.split("/").foldLeft(Neutral)(_ / _),但这导致foo.html的简单情况失败了。

1 个答案:

答案 0 :(得分:2)

PathMatchers.separateOnSlashes(String)由图书馆提供,并且可以满足我的需求。