【发布时间】:2016-04-03 12:48:25
【问题描述】:
快速背景
我正在通过一些示例学习 Akka HTTP 堆栈以创建新的 REST 项目(完全非 UI)。我一直在使用和扩充 Akka HTTP Microservice Example 来处理大量用例和配置,并且对 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") 之类的注释在我的类上做事。如果是这种情况,请随时指出心态的变化。
【问题讨论】: