Scala 喷射解压HttpResponse
我正在使用Spray API(Spray客户端)访问一个外部URL,并得到gzip的HttpResponse。我如何解压缩这个HttpResponse来获取它的实体(在我的例子中是json)Scala 喷射解压HttpResponse,scala,gzip,spray-client,Scala,Gzip,Spray Client,我正在使用Spray API(Spray客户端)访问一个外部URL,并得到gzip的HttpResponse。我如何解压缩这个HttpResponse来获取它的实体(在我的例子中是json) 这里,json是gzip。如何解压?您需要使用管道和解码指令。像这样 修改该示例时,您的代码将如下所示: val pipeline: HttpRequest => Future[String] = ( sendReceive ~> decode(Gzip) ~> unmarsh
这里,json是gzip。如何解压?您需要使用管道和
解码指令。像这样
修改该示例时,您的代码将如下所示:
val pipeline: HttpRequest => Future[String] = (
sendReceive
~> decode(Gzip)
~> unmarshal[String]
)
val response: Future[String] =
pipeline(Get(uri))
如果你不想得到未来的好处,你可以等待回复
另一方面,您可以为响应使用并创建一个对象,然后将http响应直接解组到case类中,而无需处理json。您需要使用管道和decode
指令。像这样
修改该示例时,您的代码将如下所示:
val pipeline: HttpRequest => Future[String] = (
sendReceive
~> decode(Gzip)
~> unmarshal[String]
)
val response: Future[String] =
pipeline(Get(uri))
如果你不想得到未来的好处,你可以等待回复
另一方面,您可以为响应使用并创建一个对象,然后将http响应直接解组到case类中,而无需处理json。很高兴我能提供帮助。别忘了接受答案。很高兴我能帮忙。别忘了接受答案。