问题1 - 在多个文件中组合路线
您可以非常轻松地组合来自多个文件的路线.
FooRouter.scala
object FooRouter { val route = path("foo") { complete { Ok -> "foo" } } }
BarRouter.scala
object BarRouter { val route = path("bar") { complete { Ok -> "bar" } } }
MainRouter.scala
import FooRouter import BarRouter import akka.http.scaladsl.server.Directives._ import ... object MainRouter { val routes = FooRouter.route ~ BarRouter.route } object AkkaHttpMicroservice extends App with Service { ... Http().bindAndHandle(MainRouter.routes, config.getString("http.interface"), config.getInt("http.port")) }
在这里你有一些文档:
http://doc.akka.io/docs/akka-http/current/scala/http/routing-dsl/overview.html
http://doc.akka.io/docs/akka-http/current/scala/http/routing-dsl/routes.html
问题2 - 分离路由,编组等
是的,您可以分离路由,编组和应用程序逻辑.这里有激活器示例:https://github.com/theiterators/reactive-microservices
问题3 - 使用注释处理路线
我不知道任何允许你使用annotion在akka-http中定义路由的lib.尝试了解有关DSL路由的更多信息.这代表了一种不同的http路由方法,但它也是一种方便的工具.
问题1 - 在多个文件中组合路线
您可以非常轻松地组合来自多个文件的路线.
FooRouter.scala
object FooRouter { val route = path("foo") { complete { Ok -> "foo" } } }
BarRouter.scala
object BarRouter { val route = path("bar") { complete { Ok -> "bar" } } }
MainRouter.scala
import FooRouter import BarRouter import akka.http.scaladsl.server.Directives._ import ... object MainRouter { val routes = FooRouter.route ~ BarRouter.route } object AkkaHttpMicroservice extends App with Service { ... Http().bindAndHandle(MainRouter.routes, config.getString("http.interface"), config.getInt("http.port")) }
在这里你有一些文档:
http://doc.akka.io/docs/akka-http/current/scala/http/routing-dsl/overview.html
http://doc.akka.io/docs/akka-http/current/scala/http/routing-dsl/routes.html
问题2 - 分离路由,编组等
是的,您可以分离路由,编组和应用程序逻辑.这里有激活器示例:https://github.com/theiterators/reactive-microservices
问题3 - 使用注释处理路线
我不知道任何允许你使用annotion在akka-http中定义路由的lib.尝试了解有关DSL路由的更多信息.这代表了一种不同的http路由方法,但它也是一种方便的工具.