HTTP Post Request в Scala с использованием переменных в JSON body - PullRequest
1 голос
/ 04 мая 2020

Я пытаюсь сделать запрос HTTP Post в Scala, который использует тело JSON, например:

{
    "x": "hello",
    "y": "goodbye",
    "z": "hi"
}

, где я храню "привет" и "до свидания" в переменных что я передаю функцию, выполняющую запрос.

Я не могу понять, как отформатировать тело JSON, чтобы поместить его в часть запроса .postData. Будет ли это что-то вроде:

val a = "hello"
val b = "goodbye"

val request = Http(url).postData("{"x" = "${a}", "y" = "${b}", "z" = "hi"}")
    .header("content-type", "application/json")

Мой вопрос конкретно, как отформатировать эту часть:

postData("{"x" = "${a}", "y" = "${b}", "z" = "hi"}")

1 Ответ

2 голосов
/ 04 мая 2020

Написать ответ в следующем формате:

val a = "hello"
val b = "goodbye"

val responseData =
  s"""
     | {"x": ${a},
     | "y": ${b},
     | "z": "hi"
     |}""".stripMargin


val request = Http("url").postData(responseData).header("content-type", "application/json").option(HttpOptions.method("POST"))
...