我有以下采用路径参数的代码;
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”,因为该方法的参数是一个整数)
如何在Scala Akka Http中更改此路由以执行此操作。我能找到的唯一示例使用路径参数
答案 0 :(得分:4)
在此处了解有关parameters
的信息:https://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))
}
}