有一个现存的问题包含了我所追求的很多东西:
在spray post路由中提取原始json作为字符串
但是它没有解释如何从指令[string]中获取实际的json字符串表示。我尝试将json数据作为字符串发送给kafka(kafka生产者将其序列化),因此我尝试以字符串形式提取json。我将在kafka consumer的另一端对实体进行编组。上面的答案链接让我很接近:
def rawJson = extract { _.request.entity.asString}
case "value2" => rawJson{ json =>// use the json }
但我最终得到了指令[string]。我怎么把绳子拿出来?
2条答案
按热度按时间5tmbdcev1#
你引用的例子应该有用。您将使用他们定义的rawjson指令 Package 内部路由,并且json字符串将在该内部路由中可用。
在下面的示例中,personjson是一个字符串,由请求主体通过rawjson指令提取,并提供给完成其余工作的内部路由。
mlnl4t2r2#
我提出了以下语法,满足了以字符串形式提取json的需要。一开始我认为我先解组,然后再重新组,效率很低,但后来我意识到这提供了一种即时json验证的形式。但可能有更有效的方法来做到这一点。
原料药都是喷雾的。handlewith使用对rawweatherdata case类的隐式转换。