Usage examples¶
All of the examples are available in the sources in runnable form.
POST a form using the synchronous backend¶
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.0.0-RC4")
Example code:
GET and parse JSON using the akka-http backend and json4s¶
Required dependencies:
libraryDependencies ++= List(
"com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.0.0-RC4",
"com.softwaremill.sttp.client3" %% "json4s" % "3.0.0-RC4",
"org.json4s" %% "json4s-native" % "3.6.0"
)
Example code:
GET and parse JSON using the ZIO async-http-client backend and circe¶
Required dependencies:
libraryDependencies ++= List(
"com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.0.0-RC4",
"com.softwaremill.sttp.client3" %% "circe" % "3.0.0-RC4",
"io.circe" %% "circe-generic" % "0.13.0"
)
Example code:
GET and parse JSON using the async-http-client Monix backend and circe, treating deserialization errors as failed effects¶
Required dependencies:
libraryDependencies ++= List(
"com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.0.0-RC4",
"com.softwaremill.sttp.client3" %% "circe" % "3.0.0-RC4",
"io.circe" %% "circe-generic" % "0.13.0"
)
Example code:
Log requests & responses using slf4j¶
Required dependencies:
libraryDependencies ++= List(
"com.softwaremill.sttp.client3" %% "slf4j-backend" % "3.0.0-RC4",
"com.softwaremill.sttp.client3" %% "circe" % "3.0.0-RC4",
"io.circe" %% "circe-generic" % "0.13.0"
)
Example code:
POST and serialize JSON using the Monix async-http-client backend and circe¶
Required dependencies:
libraryDependencies ++= List(
"com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.0.0-RC4",
"com.softwaremill.sttp.client3" %% "circe" % "3.0.0-RC4",
"io.circe" %% "circe-generic" % "0.13.0"
)
Example code:
Test an endpoint which requires multiple query parameters¶
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.0.0-RC4")
Example code:
Open a websocket using ZIO¶
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.0.0-RC4")
Example code:
Open a websocket using FS2 streams¶
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2 % "3.0.0-RC4")
Example code:
Test Monix websockets¶
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix % "3.0.0-RC4")
Example code:
Open a websocket using Akka¶
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.0.0-RC4")
Example code:
Open a websocket using Monix¶
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.0.0-RC4")
Example code:
Stream request and response bodies using fs2¶
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "3.0.0-RC4")
Example code:
Stream request and response bodies using zio-stream¶
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.0.0-RC4")
Example code:
Retry a request using ZIO¶
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.0.0-RC4")
Example code:
GET parsed and raw response bodies¶
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.0.0-RC4")
Example code: