您可以在單一行中要求整個工具組
//> using toolkit latest
或者,您也可以只要求特定版本的 sttp
//> using dep com.softwaremill.sttp.client4::core:4.0.0-M1
在你的 build.sbt 檔案中,你可以加入對 Toolkit 的依賴
lazy val example = project.in(file("example"))
.settings(
scalaVersion := "3.2.2",
libraryDependencies += "org.scala-lang" %% "toolkit" % "0.1.7"
)
或者,您也可以只要求特定版本的 sttp
libraryDependencies += "com.softwaremill.sttp.client4" %% "core" % "4.0.0-M1"
在你的 build.sc 檔案中,你可以加入對 Toolkit 的依賴
object example extends ScalaModule {
def scalaVersion = "3.2.2"
def ivyDeps =
Agg(
ivy"org.scala-lang::toolkit:0.1.7"
)
}
或者,您也可以只要求特定版本的 sttp
ivy"com.softwaremill.sttp.client4::core:4.0.0-M1"
使用字串主體發送請求
若要使用字串主體發送 POST 請求,你可以將 post
和 body
串接在 quickRequest
上
import sttp.client4.quick._
val response = quickRequest
.post(uri"https://example.com/")
.body("Lorem ipsum")
.send()
println(response.code)
// prints: 200
import sttp.client4.quick.*
val response = quickRequest
.post(uri"https://example.com/")
.body("Lorem ipsum")
.send()
println(response.code)
// prints: 200
在有字串主體的請求中,sttp 會加入 Content-Type: text/plain; charset=utf-8
標頭並計算 Content-Length
標頭。
二進位資料
body
方法也可以接受 Array[Byte]
、ByteBuffer
或 InputStream
。
val bytes: Array[Byte] = "john".getBytes
val request = quickRequest.post(uri"https://example.com/").body(bytes)
請求的二進位主體會使用 Content-Type: application/octet-stream
傳送。
在 sttp 文件的請求主體章節 中了解更多資訊。
此頁面的貢獻者
內容
- 簡介
- 使用 MUnit 進行測試
- 如何撰寫測試?
- 如何執行測試?
- 如何執行單一測試?
- 如何測試例外?
- 如何撰寫非同步測試?
- 如何管理測試的資源?
- MUnit 還能做什麼?
- 使用 OS-Lib 處理檔案和程序
- 如何讀取目錄?
- 如何讀取檔案?
- 如何寫入檔案?
- 如何執行程序?
- OS-Lib 還能做什麼?
- 使用 uPickle 處理 JSON
- 如何在 JSON 內取用值?
- 如何修改 JSON?
- 如何將 JSON 反序列化為物件?
- 如何將物件序列化為 JSON?
- 如何讀寫 JSON 檔案?
- uPickle 還有什麼功能?
- 使用 sttp 傳送 HTTP 要求
- 如何傳送要求?
- 如何建構 URI 和查詢參數?
- 如何傳送包含主體的請求?
- 如何傳送和接收 JSON?
- 如何透過 HTTP 上傳檔案?
- sttp 還有什麼功能?