首页 > 解决方案 > 以特定响应格式聚合多个参与者响应?

问题描述

我想将来自不同参与者的两个响应组合到一张地图中,从技术上讲,我希望将地图响应转换为如下所示的 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)
}

标签: scalaakkaakka-http

解决方案


推荐阅读