iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
1

昨天我們談到怎麼用 Ktor 以 get 來取得第三方 API 的資料,今天我們來談談如何寫入第三方 API。

POST

要寫入資料,一般我們會使用 post 這個 action:

val text = client.post<String>("http://127.0.0.1:8080/")

當然,和 get 不一樣的是,我們要把寫入的資料帶入,這樣才能讓第三方 API 有內容可以寫入。

我們可能有的資料會從 body 帶入,body 可能是 String

client.post<Unit> {
    url("http://127.0.0.1:8080/")
    body = "HELLO WORLD!"
}

也可以是 File:

client.post<Unit> {
    url("http://127.0.0.1:8080/")
    body = LocalFileContent(File("build.gradle"))
}

如果我們需要用 Json 格式,我們可以透過 Jackson 套件建立:

val json = jacksonObjectMapper()
client.post<Unit> {
    url("http://127.0.0.1:8080/")
    body = TextContent(
        json.writeValueAsString(userData), 
        contentType = ContentType.Application.Json
    )
}

今天我們就談到這裡,下次我們再談其他寫入資料的方式


上一篇
[Day 22] Ktor 怎麼存取第三方 API
下一篇
[Day 24] 如果有很多 Request 怎麼辦,談 Parallel requests
系列文
最好用的非同步網頁框架!開始用 Ktor 寫 Kotlin Server30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言