如何在具有使用Scala的请求正文的REST API上执行GET请求?

问题描述 投票:0回答:2

我是Scala编程的新手,实际上我正在使用Gatling测试API的性能。事情是我们不想在我们的代码中存储密码,因此我们想调用一个返回用户名和密码的REST API。

这里的Catch是请求类型为GET,但确实有要发送的JSON正文。 API的响应实际上取决于我们在请求中发送的JSON正文]

例如:

URL-https://www.somesecrets.com/JSON正文-

{ 
  "env":"qa",
  "key":"micro"
}

有人可以帮忙编写一个Scala代码,该代码允许在GET请求中发送正文

这是我已经尝试过的一些代码


def get(url: String,
  connectTimeout: Int = 5000,
  readTimeout: Int = 5000,
  requestMethod: String = "GET") = {
  println("Getting Password from Secret Repo")
  import java.net. {
    URL,
    HttpURLConnection
  }
  val connection = (new URL(url)).openConnection.asInstanceOf[HttpURLConnection]
  connection.setConnectTimeout(connectTimeout)
  connection.setReadTimeout(readTimeout)
  connection.setRequestMethod(requestMethod)
  val inputStream = connection.getInputStream
  val content = scala.io.Source.fromInputStream(inputStream).mkString
  if (inputStream != null) inputStream.close
  content
}

但是我不明白如何扩展此代码以发送JSON正文

我是Scala编程的新手,实际上我正在使用Gatling测试API的性能。事情是我们不想在我们的代码中存储密码,所以我们想调用一个REST API,它返回...

scala http get gatling
2个回答
0
投票

您无法将正文添加到GET请求。 GET请求在URL中包含所有必需的数据,而POST请求在消息正文中从客户端(浏览器)向服务器提供其他数据。


0
投票

您无法将请求正文添加到GET请求中。好吧,从技术上讲您可以,但这并不意味着什么。而且许多HTTP客户端都不允许您这样做。加特林可能不允许您这样做。 See more on that here

© www.soinside.com 2019 - 2024. All rights reserved.