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? –
我沒有看到一種不涉及鑄造的方式。 –