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))
вы используете [Акка-HTTP-Цирцеи] (HTTPS: //github.com/hseebe rger/Акка-HTTP-JSON/дерево/мастер/Акка-HTTP-Цирцеи)? –
Да, я использую akka-http-circe –
Можете ли вы сказать немного больше о своем импорте? Можете ли вы разрешить 'Encoder [Items]' в той же области? –