2017-02-18 2 views
0

zu konvertieren, fragte ich mich, ob es möglich ist, eine Instanz von einem zu und Instanz des anderen zu konvertieren. Wenn ja, wie würde ich es tun? Ich habe keine Erwähnung davon in den akka-http-Dokumenten gefunden. Ich versuche, eine Klasse zu schreiben, die eine Java-Schnittstelle implementiert, die die Basisroute einer akka-http-Anwendung zurückgibt, aber intern möchte ich die Klasse in Scala implementieren.Ist es möglich, zwischen akka.http.javadsl.server.Route und akka.http.scaladsl.server.Route

Antwort

1

javadsl.server.Route wird tatsächlich von einem Adapter implementiert, der eine scaladsl.server.Route umhüllt (die konkrete Klasse heißt RouteAdapter). Sie können, indem Sie

val scalaRoute = get { complete("OK") } // akka.http.scaladsl.server.Route 

val javaRoute = RouteAdapter(scalaRoute) // extends akka.http.javadsl.server.Route 

val backToScalaRoute = RouteAdapter(scalaRoute).delegate // akka.http.scaladsl.server.Route 
+0

So zwischen den beiden bewegen, gibt es eine einfache Möglichkeit, den anderen Weg zu gehen, um: von einem 'akka.http.javadsl.server.Route' zu ​​einem' akka.http.scaladsl .server.Route', vorzugsweise ohne die Java-Route zum RouteAdapter zu werfen? –

+0

Ich sehe keinen Weg, der das Gießen nicht einschließen würde. –

Verwandte Themen