快速背景
我正在通过一些示例学习 Akka HTTP 堆栈以创建新的 REST 项目(完全非 UI)。我一直在使用和扩充Akka HTTP 微服务示例来处理大量用例和配置,并且对 Scala 和 Akka HTTP 的工作效果感到惊喜。
当前设置
目前我有这样的配置:
object AkkaHttpMicroservice extends App with Service {
override implicit val system = ActorSystem()
override implicit val executor = system.dispatcher
override implicit val materializer = ActorMaterializer()
override val config = ConfigFactory.load()
override val logger = Logging(system, getClass)
Http().bindAndHandle(routes, config.getString("http.interface"), config.getInt("http.port"))
}
该routes
参数只是一个简单的值,其中包含使用 、 等的典型path
数据pathPrefix
。
问题
有什么方法可以在多个 Scala 文件或某个地方的示例中设置路由?
我真的希望能够定义一组类来分离关注点并处理 Actor 设置和处理以处理应用程序的不同区域,并将编组留给根App
扩展。
这可能是我想太多了,因为我是如何在 Java 中使用@javax.ws.rs.Path("/whatever")
我的类上的注释来做事的。如果是这种情况,请随时指出思维方式的变化。