mapRequest
シグネチャ
説明
内部ルートによって処理される前にリクエストを変換します。
``mapRequest``ディレクティブは内部ルートによって処理される前にリクエストを変換するための:ref:カスタムディレクティブ 'のビルディングブロックとして使用されます。 ` request.uri``パラメータを変更しても内部ルートのパスマッチングには影響しません。これは、一致しないパスがルートに渡される ``RequestContext``値の別のフィールドだからです。 `` RequestContext``の不一致なパスや他のフィールドを変更するには、:ref:`-mapRequestContext-`ディレクティブを使います。
同様のディレクティブの概要は:ref:Request Transforming Directives を参照してください。
例
def transformToPostRequest(req: HttpRequest): HttpRequest = req.copy(method = HttpMethods.POST)
val route =
mapRequest(transformToPostRequest) {
extractRequest { req =>
complete(s"The request method was ${req.method.name}")
}
}
Get("/") ~> route ~> check {
responseAs[String] shouldEqual "The request method was POST"
}
Contents