Interface Route

  • All Superinterfaces:
    HandlerProvider
    All Known Implementing Classes:
    RouteAdapter

    public interface Route
    extends HandlerProvider
    In the Java DSL, a Route can only consist of combinations of the built-in directives. A Route can not be instantiated directly.

    However, the built-in directives may be combined methods like:

     Route myDirective(String test, Supplier<Route> inner) {
       return
         path("fixed", () ->
           path(test),
             inner
           )
         );
     }
     

    The above example will invoke [inner] whenever the path "fixed/{test}" is matched, where "{test}" is the actual String that was given as method argument.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      scala.Function1<RequestContext,​scala.concurrent.Future<RouteResult>> asScala()
      Converts to the Scala DSL form of an Route.
      scala.Function1<RequestContext,​scala.concurrent.Future<RouteResult>> delegate()
      INTERNAL API
      akka.stream.javadsl.Flow<HttpRequest,​HttpResponse,​akka.NotUsed> flow​(akka.actor.ActorSystem system, akka.stream.Materializer materializer)  
      akka.stream.javadsl.Flow<HttpRequest,​HttpResponse,​akka.NotUsed> flow​(akka.actor.ClassicActorSystemProvider system)  
      akka.japi.function.Function<HttpRequest,​java.util.concurrent.CompletionStage<HttpResponse>> function​(akka.actor.ClassicActorSystemProvider system)  
      akka.japi.function.Function<HttpRequest,​java.util.concurrent.CompletionStage<HttpResponse>> handler​(akka.actor.ClassicActorSystemProvider system)  
      akka.japi.function.Function<HttpRequest,​java.util.concurrent.CompletionStage<HttpResponse>> handler​(akka.actor.ClassicActorSystemProvider system, scala.concurrent.ExecutionContextExecutor executionContext, akka.stream.Materializer materializer)
      Like handler(system), but allows overriding the ExecutionContext and Materializer used to complete requests, instead of defaulting to system.dispatcher() and the SystemMaterializer.
      Route orElse​(Route alternative)  
      Route seal()
      Seals a route by wrapping it with default exception handling and rejection conversion.
      Route seal​(RejectionHandler rejectionHandler, ExceptionHandler exceptionHandler)
      Seals a route by wrapping it with explicit exception handling and rejection conversion.
    • Method Detail

      • asScala

        scala.Function1<RequestContext,​scala.concurrent.Future<RouteResult>> asScala()
        Converts to the Scala DSL form of an Route.
      • flow

        akka.stream.javadsl.Flow<HttpRequest,​HttpResponse,​akka.NotUsed> flow​(akka.actor.ActorSystem system,
                                                                                         akka.stream.Materializer materializer)
      • flow

        akka.stream.javadsl.Flow<HttpRequest,​HttpResponse,​akka.NotUsed> flow​(akka.actor.ClassicActorSystemProvider system)
      • function

        akka.japi.function.Function<HttpRequest,​java.util.concurrent.CompletionStage<HttpResponse>> function​(akka.actor.ClassicActorSystemProvider system)
      • handler

        akka.japi.function.Function<HttpRequest,​java.util.concurrent.CompletionStage<HttpResponse>> handler​(akka.actor.ClassicActorSystemProvider system,
                                                                                                                  scala.concurrent.ExecutionContextExecutor executionContext,
                                                                                                                  akka.stream.Materializer materializer)
        Like handler(system), but allows overriding the ExecutionContext and Materializer used to complete requests, instead of defaulting to system.dispatcher() and the SystemMaterializer. Pass null for either parameter to keep its default.
        Parameters:
        system - (undocumented)
        executionContext - (undocumented)
        materializer - (undocumented)
        Returns:
        (undocumented)
      • seal

        Route seal()
        Seals a route by wrapping it with default exception handling and rejection conversion.

        A sealed route has these properties: - The result of the route will always be a complete response, i.e. the result of the future is a Success(RouteResult.Complete(response)), never a failed future and never a rejected route. These will be already be handled using the default RejectionHandler and ExceptionHandler. - Consequently, no route alternatives will be tried that were combined with this route.

        Returns:
        (undocumented)
      • seal

        Route seal​(RejectionHandler rejectionHandler,
                   ExceptionHandler exceptionHandler)
        Seals a route by wrapping it with explicit exception handling and rejection conversion.

        A sealed route has these properties: - The result of the route will always be a complete response, i.e. the result of the future is a Success(RouteResult.Complete(response)), never a failed future and never a rejected route. These will be already be handled using the given RejectionHandler and ExceptionHandler. - Consequently, no route alternatives will be tried that were combined with this route.

        Parameters:
        rejectionHandler - (undocumented)
        exceptionHandler - (undocumented)
        Returns:
        (undocumented)