0
我想知道是否可以将一个实例转换为另一个实例。如果是这样,那我该怎么做呢?我在akka-http文档中没有发现任何提及。 我正在尝试编写一个实现Java接口的类,该接口返回akka-http应用程序的基本路由,但内部我想在Scala中实现该类。是否有可能在akka.http.javadsl.server.Route和akka.http.scaladsl.server.Route之间进行转换
我想知道是否可以将一个实例转换为另一个实例。如果是这样,那我该怎么做呢?我在akka-http文档中没有发现任何提及。 我正在尝试编写一个实现Java接口的类,该接口返回akka-http应用程序的基本路由,但内部我想在Scala中实现该类。是否有可能在akka.http.javadsl.server.Route和akka.http.scaladsl.server.Route之间进行转换
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
所以两者之间走动,有大约走另一条路的简单方法:从'akka.http.javadsl.server.Route'到'akka.http.scaladsl .server.Route',最好不要将java Route转换为RouteAdapter? –
我没有看到一种不涉及铸造的方式。 –