Мне было интересно, можно ли конвертировать экземпляр одного из экземпляров и экземпляр другого. Если да, то как мне это сделать? Я не упоминал об этом в документах akka-http. Я пытаюсь написать класс, который реализует интерфейс Java, который возвращает базовый маршрут приложения akka-http, но внутренне я хочу реализовать класс в Scala.Можно ли конвертировать между akka.http.javadsl.server.Route и akka.http.scaladsl.server.Route
0
A
ответ
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
Итак, есть простой способ идти наоборот: из 'akka.http.javadsl.server.Route' в' akka.http.scaladsl .server.Route', желательно, не отбрасывая java-маршрут RouteAdapter? –
Я не вижу способ, который не включал бы литье. –