Scala 以特定响应格式聚合多个参与者响应?

Scala 以特定响应格式聚合多个参与者响应?,scala,akka,akka-http,Scala,Akka,Akka Http,我想将来自不同参与者的两个响应组合成一个映射,技术上我想将一个映射响应转换成json对象,如下所示 { configurations : <config>, members : [<List of Members>] } {配置:, 成员:[] } 响应主体应该如上所示,我如何通过json格式,甚至通过下面的代码和上面的键映射的形式来实现这一点。我怎样才能以这种方式将两种回答结合起来。我认为我下面的“for”逻辑没有正确地抓住它。如何在下面的代码中引入密钥名称 d

我想将来自不同参与者的两个响应组合成一个映射,技术上我想将一个映射响应转换成json对象,如下所示

{ 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对象的功能。