2017-01-11 3 views
1

Я играю с клиентской стороной Akka Http. Я создал простой запрос, но как я могу отменить повтор? на стороне сервера легко использовать Цирцей маршал ответа, но у меня есть трудности в стороне клиентасоздание unmarshaller с использованием 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))

+0

вы используете [Акка-HTTP-Цирцеи] (HTTPS: //github.com/hseebe rger/Акка-HTTP-JSON/дерево/мастер/Акка-HTTP-Цирцеи)? –

+0

Да, я использую akka-http-circe –

+0

Можете ли вы сказать немного больше о своем импорте? Можете ли вы разрешить 'Encoder [Items]' в той же области? –

ответ

0

содержание было являющимся файл - так после запуска потока декодера это было нормально

Смежные вопросы