特定のパス パターンに一致させるためにakka ディレクティブを使用しています。
/item/quantity
例は
/apples/100
/bananas/200
可能な項目 (「りんご」、「バナナ」など) は事前にわからないため、使用する項目をハードコーディングすることpath
はできません。
しかし、パスの先頭を抽出する PathMatcher が見つかりません。私はフォームの何かを探しています
val route =
get {
path(PathHeadAsString) { item : String =>
path(IntNumber) { qty : Int =>
complete(s"item: $item quantity: $qty")
} ~ complete("no quantity specified")
} ~ complete("no item specified")
}
どこ
Get("/apples/100") ~> route ~> check {
responseAs[String] shouldEqual "item: apples quantity: 100"
}
パスの最初のセグメントを抽出する方法はありますか?
path(segment)
数量がパスにある場合、マッチャーは一致しません。
path(segments)
もちろん、パス要素を取得するために使用できますList[String]
が、リストの先頭と末尾を手動で抽出する必要があり、エレガントではないようです。
事前のご検討とご対応をよろしくお願いいたします。