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"
}