Scala 以特定响应格式聚合多个参与者响应?
我想将来自不同参与者的两个响应组合成一个映射,技术上我想将一个映射响应转换成json对象,如下所示Scala 以特定响应格式聚合多个参与者响应?,scala,akka,akka-http,Scala,Akka,Akka Http,我想将来自不同参与者的两个响应组合成一个映射,技术上我想将一个映射响应转换成json对象,如下所示 { configurations : <config>, members : [<List of Members>] } {配置:, 成员:[] } 响应主体应该如上所示,我如何通过json格式,甚至通过下面的代码和上面的键映射的形式来实现这一点。我怎样才能以这种方式将两种回答结合起来。我认为我下面的“for”逻辑没有正确地抓住它。如何在下面的代码中引入密钥名称 d
{ configurations : <config>,
members : [<List of Members>]
}
{配置:,
成员:[]
}
响应主体应该如上所示,我如何通过json格式,甚至通过下面的代码和上面的键映射的形式来实现这一点。我怎样才能以这种方式将两种回答结合起来。我认为我下面的“for”逻辑没有正确地抓住它。如何在下面的代码中引入密钥名称
def receive = MetricsReceive {
case MetricsRequest =>
val config = config ? ConfigMetricsRequest mapTo[ConfigMetrics]
val members = (members ? MembersRequest mapTo[Members])
for {
c <- config
m <- members
} yield fun(c, m)
}
def receive=MetricsReceive{
案例度量请求=>
val config=config?ConfigMetricsRequest映射到[ConfigMetrics]
val成员=(成员?成员请求映射到[成员])
为了{
c这取决于fun
做了什么,因此很难进一步评论。创建一个案例类而不是映射,例如case-class-MetricsResponse(配置:ConfigMetrics,成员:members)
。然后使用任何JSON库将案例类的此实例转换为JSON。大多数JSON库都提供了将案例类自动转换为具有预期键的适当JSON对象的功能。