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" % "@VERSION@")
Example code:
GET and parse JSON using the akka-http backend and json4s
Required dependencies:
libraryDependencies ++= List(
"com.softwaremill.sttp.client3" %% "akka-http-backend" % "@VERSION@",
"com.softwaremill.sttp.client3" %% "json4s" % "@VERSION@",
"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" % "@VERSION@",
"com.softwaremill.sttp.client3" %% "circe" % "@VERSION@",
"io.circe" %% "circe-generic" % "@CIRCE_VERSION@"
)
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" % "@VERSION@",
"com.softwaremill.sttp.client3" %% "circe" % "@VERSION@",
"io.circe" %% "circe-generic" % "@CIRCE_VERSION@"
)
Example code:
Log requests & responses using slf4j
Required dependencies:
libraryDependencies ++= List(
"com.softwaremill.sttp.client3" %% "slf4j-backend" % "@VERSION@",
"com.softwaremill.sttp.client3" %% "circe" % "@VERSION@",
"io.circe" %% "circe-generic" % "@CIRCE_VERSION@"
)
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" % "@VERSION@",
"com.softwaremill.sttp.client3" %% "circe" % "@VERSION@",
"io.circe" %% "circe-generic" % "@CIRCE_VERSION@"
)
Example code:
Test an endpoint which requires multiple query parameters
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "@VERSION@")
Example code:
Open a websocket using ZIO
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "@VERSION@")
Example code:
Open a websocket using FS2 streams
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "@VERSION@")
Example code:
Test Monix websockets
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "@VERSION@")
Example code:
Open a websocket using Akka
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "akka-http-backend" % "@VERSION@")
Example code:
Open a websocket using Monix
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "@VERSION@")
Example code:
Stream request and response bodies using fs2
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "@VERSION@")
Example code:
Stream request and response bodies using zio-stream
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "@VERSION@")
Example code:
Retry a request using ZIO
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "@VERSION@")
Example code:
GET parsed and raw response bodies
Required dependencies:
libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "@VERSION@")
Example code: