0

我正在考虑用类似这样的东西替换 POST 中 JSON 中名为“type”的字段

def rawJson = extract { _.request.entity.asString}
post {
    rawJson { json => 
       val new json = println(json.replace("\"type\":", "\"eventType\":"))}
}

现在,有了这个新的 JSON,我想重新注入 POST 以将其视为新调用。我知道“重定向”,但在这种情况下我看不到使用它的方法。

谢谢!

4

1 回答 1

0

我会回答我自己的问题。我希望其他人能发现它有用:我已经即时更改了帖子。我的问题是我正在使用:entity(as[Event])并且我无法转换它。但是像 JObject 一样反序列化它我可以控制这些字段。这是一个非常强大的工具。

    post {
      entity(as[JObject]) {
        eventO =>
          val nevent: json4s.JValue = eventO.mapField(x => if (x._1=="type") ("eventType",x._2) else (x._1,x._2))
          val event = nevent.extract[Event]
          handlePerRequest {
            RouteMessageToCluster(event)
          }
      }
    }
于 2015-03-26T12:41:19.857 回答