将 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
在此处了解 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))
}
}
我有以下带有路径参数的代码;
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
在此处了解 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))
}
}