我对Scala和Akka非常陌生。我正在尝试使用akka编写一个简单的Http处理程序,它接收一个json。我想将这个json编组到一个scala类/对象中进行处理。因为它是一个输入,所以我还想对所需的json节点和值类型执行基本的验证。我发现我必须使用spray-json来完成它。但是我无法找到更多关于如何做到这一点的信息,我正在寻找关于这方面的样本/模板。任何帮助都将不胜感激。
发布于 2015-07-02 00:46:27
我有一个特别针对您的用例的超级简单的演示应用程序:https://github.com/sap1ens/akka-microservice
你可以在这里看一下喷雾序列化/反序列化和Akka集成:https://github.com/sap1ens/akka-microservice/blob/master/src/main/scala/com/sap1ens/api/Example1Routes.scala
例如,这是使用spray json库的方法:
object Example1Routes {
case class TestAPIObject(thing: String)
object Example1RoutesProtocol extends DefaultJsonProtocol {
implicit val testAPIObjectFormat = jsonFormat1(TestAPIObject)
}
}jsonFormatX为您处理序列化程序和反序列化程序。
然后,您可以在Spray中使用它:
entity(as[TestAPIObject]) { request =>
// ...
}稍后,您还可以看到一个使用"ask“模式从喷射层向Actors传递消息的示例。更高级的示例:http://techblog.net-a-porter.com/2013/12/ask-tell-and-per-request-actors/
https://stackoverflow.com/questions/31163702
复制相似问题