2017-02-18 1 views
0

하나의 인스턴스를 다른 인스턴스로 변환 할 수 있는지 궁금합니다. 그렇다면 어떻게해야합니까? 나는 akka-http 문서에서 이것을 언급하지 않았다. akka-http 응용 프로그램의 기본 경로를 반환하는 Java 인터페이스를 구현하는 클래스를 작성하려고하지만 내부적으로이 클래스를 스칼라에서 구현하려고합니다.akka.http.javadsl.server.Route와 akka.http.scaladsl.server.Route 사이를 변환 할 수 있습니까

답변

1

javadsl.server.Route은 실제로 scaladsl.server.Route (구체적인 클래스는 RouteAdapter이라고 함)을 래핑하는 어댑터로 구현됩니다. 당신은

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

그렇게함으로써 둘 사이에 이동할 수 있고, 다른 방법으로 주위를가는 간단한 방법이있다하십시오'akka.http.javadsl.server.Route'에서'akka.http.scaladsl에 .server.Route', 가급적이면 Java Route를 RouteAdapter에 캐스팅하지 않고? –

+0

나는 캐스팅을 포함하지 않는 방법을 보지 못합니다. –

관련 문제