Dead simple Scala wrapper for Akka Http Client API that simplifies interacting with JSON Based Http APIs. It is optimized for json usage and will automatically convert responses and request to and from json. It uses jsoniter for this. With minimal bolierplate you should be up and running in minutes
Observe: Previous versions < 0.5.0) used AsyncHttpClient or Java 11 HttpClient and Json4s. Version 0.5.0+ is based on AkkaHttp and Jsoniter
import org.mellowtech.jsonclient.{JsonClient,JsonResponse}
import com.github.plokhotnyuk.jsoniter_scala.core._
import com.github.plokhotnyuk.jsoniter_scala.macros._
import scala.concurrent.Await
import scala.concurrent.duration._
case class ServerResponse(key: String, value: String)
object Test {
import scala.concurrent.ExecutionContext.Implicits.global
implicit val jsonCodec = JsonCodecMaker.make[ServerResponse](CodecMakerConfig())
val jc = JsonClient()
val resp = jc.get[ServerResponse]("http://pathToServiceApi")
var res: JsonResponse[ServerResponse] = Await.result(resp, 4 seconds)
println(res.body)
jc.close
}
Better support for non json client requestsProper testing- Simpler configuration (scala.config)
- Chunked responses
- 0.5.1 - Added example CLI and more documentation
- 0.5.0 - Using Akka Http Client as backend
- 0.4.0 - First version using Javas new HttpClient Api
- 0.3.0 - First production release. Scala 2.12 and testing
- 0.1.0-SNAPSHOT - initial snapshot release
JsonClient uses Jsoniter as its Json Parser backend. It has been chosen for its
- ease of use
- speed
- out of the box handling of java.time