将 Akka Http 服务的一些 Path Parameters 更改为 Query Params

Change some Path Parameters of an Akka Http service to Query Params

我有以下带有路径参数的代码;

def candlesRange: Route = (path("candles" / Segment / Segment / IntNumber / LongNumber / LongNumber) & get) {
  (a1, a2, tf, t1, t2) => complete(apiController.apiGetCandlesRange(a1, a2, tf, t1, t2))
}

但我想将一些参数更改为查询参数。所以 URL 将遵循这样的格式;

/candles/Asset1/Asset2/timeStart=1507198441000&timeEnd=1512382501000&interval=60m

并将它们传递给相同的方法(甚至可能从分钟中删除 'm',因为该方法的参数是一个 int)

如何更改此路由以在 Scala Akka Http 中执行此操作。我能找到的唯一示例使用 Path params

在此处了解 parametershttps://doc.akka.io/docs/akka-http/current/routing-dsl/directives/parameter-directives/parameters.html

val candlesRange: Route = (path("candles" / Segment / Segment / )) { (a1, a2) =>
    get {
        parameters('timeStart, 'timeEnd, 'interval) { (timeStart, timeEnd, interval) => 
            complete(apiController.apiGetCandlesRange(a1, a2, timeStart, timeEnd, interval))
    }
}