STTP 提供开箱即用的对第三方JOSN库的支持:包括Circe、Json4s、spray-json 等。 目前,从项目活跃度、维护程度上讲Circe应该是不错的选择。 (https://scala.libhunt.com/compare-circe-vs-spray-json) 2)Circe Circe竟然是基于挑战智商的 CAT 实现的! 官网: https://circe.github.io/circe/。 Circe使用 Encoder、Decoder 编解码Json。 Circe对Scala库中常见类型就提供了默认的隐式实例。 对于简单结构的 case class,使用 Circe 提供的自动、半自动的编解码就好。 import io.circe.generic.auto._ import sttp.client._ import sttp.client.circe._ case class Links
如果使用 AkkaHttp 作为 STTP 的 backend 来并发地处理 list of url,就会得到类似 List[Future[Response[Either[ResponseError[io.circe.Error 下面代码演示了如何把: List[Future[Response[Either[ResponseError[io.circe.Error], NasaData]]]] 准换为 Future[(List[ import io.circe.generic.auto._ import sttp.client._ import sttp.client.akkahttp.AkkaHttpBackend import sttp.client.circe._ import scala.concurrent.Future import scala.concurrent.duration._ import ], NasaData]]]] = Future.sequence(listOfFutureResult) // Note: 把Response[Either[ResponseError[io.circe.Error
% "3.3.13", "com.softwaremill.sttp.client3" %% "async-http-client-backend-future" % "3.3.13", "io.circe " %% "circe-parser" % "0.14.1", "io.circe" %% "circe-generic" % "0.14.1")代码实现下面是完整的Scala代码,展示了如何通过代理 _import sttp.client3.asynchttpclient.future.AsyncHttpClientFutureBackendimport io.circe.parser. _import io.circe.generic.auto.
_import sttp.tapir.json.circe._import io.circe.generic.auto.
为让大家加深理解,我从三种常用的的几何字体——Futura、Circe和Geometria中选取了字母“o”。 此外,Circe和Geometria的字母比圆还要宽,但即使它们的高度和宽度相等,我们也能看到这四个“肚子”,就好像它们吃得太多了。 ?
127.0.0.1:40538 - R:localhost/127.0.0.1:6650] 2022-11-06T09:24:14,118+0000 [main] INFO com.scurrilous.circe.checksum.Crc32cIntChecksum
"Hello Pulsar" 在 consumer 终端可以看到成功消费到了消息: 23:20:47.418 [pulsar-client-io-1-1] INFO com.scurrilous.circe.checksum.Crc32cIntChecksum