是否可以在akka.http.javadsl.server.Route和akka.http.scaladsl.server.Route

时间:2017-02-18 03:17:23

标签: scala akka-http

我想知道是否可以将一个实例转换为另一个实例。如果是这样,那我该怎么做?我还没有在akka-http文档中找到任何提及。 我正在尝试编写一个实现Java接口的类,该类返回akka-http应用程序的基本路由,但在内部我想在Scala中实现该类。

1 个答案:

答案 0 :(得分: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