我玩的是Akka Http客户端。我已经创建了一个简单的请求,但是我如何解组响应呢?在服务器端,使用circe编组响应很容易,但在客户端我遇到了困难
import akka.actor.ActorSystem
import akka.http.scaladsl.Http
import akka.http.scaladsl.model.Uri.Query
import akka.http.scaladsl.model._
import akka.http.scaladsl.unmarshalling.Unmarshal
import akka.stream.Materializer
import scala.concurrent.ExecutionContext
class QuestionsFetcher {
import de.heikoseeberger.akkahttpcirce.CirceSupport._
import io.circe.generic.auto._
val baseUrl = "https://somewhere.com"
def fetch(tag: String)(implicit ac: ActorSystem, materializer: Materializer) = {
implicit val ec: ExecutionContext = ac.dispatcher
val fromDate = DateTime.now.minus(1000 * 60 * 60 * 24)
val uri = Uri(baseUrl).withQuery(Query("order"->"desc"))
val request = HttpRequest(HttpMethods.GET, uri)
Http().singleRequest(request)
.map(r => Unmarshal(r.entity.withContentType(ContentTypes.`application/json`)).to[Items])}}
运行代码时,我得到了ErrorFuture(io.circe.ParsingFailure:获得的预期JSON值(第1行,第1列))
发布于 2017-01-13 20:14:15
内容是gziped的,所以在运行解码器流之后是可以的。
https://stackoverflow.com/questions/41601217
复制相似问题