extract
シグネチャ
説明
``extract``ディレクティブは:ref: Custom Directives`のビルディングブロックとして使用され、 ``RequestContext``からデータを抽出し、それを内部ルートに提供します。 複数の値を抽出するために使用できるより一般的な:ref:-textract-`ディレクティブの1つの値を抽出する特殊な場合です。
類似のディレクティブの概要は:ref:`ProvideDirectives`を参照してください。
例
val uriLength = extract(_.request.uri.toString.length)
val route =
uriLength { len =>
complete(s"The length of the request URI is $len")
}
// tests:
Get("/abcdef") ~> route ~> check {
responseAs[String] shouldEqual "The length of the request URI is 25"
}
val route =
extractLog { log =>
log.debug("I'm logging things in much detail..!")
complete("It's amazing!")
}
// tests:
Get("/abcdef") ~> route ~> check {
responseAs[String] shouldEqual "It's amazing!"
}
Contents