-
Notifications
You must be signed in to change notification settings - Fork 0
Scala
PiotrFerenc edited this page May 14, 2024
·
1 revision
import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global
import sttp.client3._
import sttp.client3.circe._
import io.circe.generic.auto._
import io.circe.syntax._
object Example {
case class Parameters(ConsoleText: String)
case class TaskItem(Sequence: Int, Name: String, Action: String)
case class RequestPayload(Parameters: Parameters, Tasks: Seq[TaskItem])
def main(args: Array[String]): Unit = {
val backend = HttpURLConnectionBackend()
val url = "http://localhost:5000/execute"
val payload = RequestPayload(
Parameters = Parameters(ConsoleText = "hallo word"),
Tasks = Seq(TaskItem(Sequence = 1, Name = "log", Action = "console"))
)
val request = basicRequest
.post(uri"$url")
.body(payload.asJson)
.contentType("application/json")
val response = request.send(backend)
response.map { resp =>
if (resp.code.isSuccess) {
println(s"Response: ${resp.body.getOrElse("No content")}")
} else {
println(s"Error: ${resp.code}")
}
}
}
}