Scala 是什么替代了喷洒中的RoutedHttp服务

Scala 是什么替代了喷洒中的RoutedHttp服务,scala,akka,spray,Scala,Akka,Spray,我一直在遵循这一点,因为这似乎是在异步服务中将实现与路由分离开来的合理方法。然而,这篇文章已经发布6个月了,Spray API似乎已经发生了变化,而它使用了大约一半的RoutedHttpService 我是Scala的新手,也是Spray的新手,Spray文档充其量也是迟钝的,所以我一直在努力用什么来替换这段代码 接下来有几个问题: 这篇文章中概述的方法是否切实可行 如果(1)的答案是肯定的,那么应该用什么替换RoutedHttpService 如果(1)的答案是否定的,那么是否有其他“正确方法

我一直在遵循这一点,因为这似乎是在异步服务中将实现与路由分离开来的合理方法。然而,这篇文章已经发布6个月了,Spray API似乎已经发生了变化,而它使用了大约一半的
RoutedHttpService

我是Scala的新手,也是Spray的新手,Spray文档充其量也是迟钝的,所以我一直在努力用什么来替换这段代码

接下来有几个问题:

  • 这篇文章中概述的方法是否切实可行
  • 如果(1)的答案是肯定的,那么应该用什么替换
    RoutedHttpService
  • 如果(1)的答案是否定的,那么是否有其他“正确方法”的文档可以进行喷洒

  • 为便于参考,所讨论的代码如下:

    trait Api extends RouteConcatenation {
      this: CoreActors with Core =>
    
      private implicit val _ = system.dispatcher
    
      val routes =
        new RegistrationService(registration).route ~
        new MessengerService(messenger).route
    
      val rootService = system.actorOf(Props(new RoutedHttpService(routes))) // :-(  
    }
    
    1) 本文中描述的方法非常好,但它已经是高级Scala编程了。我的建议是,如果你不明白,就不要用它

    2)
    RoutedHttpService
    实际上来自Eigengo的activator模板,而不是Spray API,您可以找到源代码


    3) 您还可以看看这个,它提供了一个很好的框架,蛋糕图案的组成更少。

    spray template项目还提供了一种非常简单的方法来构造您的代码,您可以从中开始:谢谢@jrudolph,是的,这肯定更简单,但我喜欢在上面提到的文章中逻辑和路由之间的分离,这会使测试更简单。一旦我对Spray有了更多的了解,我认为它非常棒(谢谢!),指令文档等都非常好,但是我和其他一些人在如何通过测试等来引导一个“真正”的项目上遇到了困难,上面提到的文章似乎是一个很好的起点。干杯,链接到源代码是很有帮助的,我想知道为什么它不在博客帖子里?!在等待答案时,我实际上实现了一个非常类似于他的版本的东西,但我只是假设它应该是“开箱即用”的,因为没有提到外部源。在阅读这篇文章时,我并不是什么都懂,但由于我对这一切都很在行,所以我从文章的最深处学到了最好的东西。