dynamic
Enforces that the code constructing the inner route is run for every request.
Signature
def dynamic: ByNameDirective0
Description
dynamic is a special directive because, in fact, it doesn’t implement Directive at all. That means you cannot use it in combination with the usual directive operators.
Use dynamicIf to run the inner route constructor dynamically depending on a static condition.
Example
var value = 0
val route =
dynamic {
value += 1 /// executed for each request
complete(s"Result is now $value") // route executed in future
}
Get("/") ~> route ~> check {
responseAs[String] === "Result is now 1"
}
Get("/") ~> route ~> check {
responseAs[String] === "Result is now 2"
}