Ktor/建立 json response

维基教科书,自由的教学读本

除了純文字的回傳之外,我們通常會想回傳特定格式的資料。在現代的 API 內,多數會是以 json 格式設定我們的 API

下面我們就來建立一個回傳 json 的 API

連線 http://127.0.0.1/snippets 時,會回傳一個 json object

{
    "OK": true
}


設置 auto import[编辑]

要能回傳 json 格式的資料,我們需要安裝新的套件

安裝套件之前,我們先將 IntelliJ Idea 的 auto import 打開

我們打開 Preferences... > Build, Execution, Deployment > Gradle

點開視窗之後,我們勾選裡面的「Automatically import this project on changes in build script files」 然後點視窗右下方的「Apply」

這樣,之後我們更新 build.gradle 檔案時,就會自動安裝套件了

安裝 jackson 套件[编辑]

設置好了之後,我們來安裝所需要的套件

這裏我們選擇 jackson 套件來處理 json 格式的輸出

在 build.gradle 裡面,我們找到 dependencies 區塊,在裡面加上

implementation "io.ktor:ktor-jackson:$ktor_version"

加了之後,因為我們加上了 auto import,所以 IDE 現在會自動處理這個套件

撰寫 API[编辑]

現在可以撰寫 API 了

在 Application.kt 前面先 import 兩組套件

import io.ktor.jackson.*
import io.ktor.features.*

然後加上

routing {
    get("/snippets") {
        call.respond(mapOf("OK" to true))
    }
}

現在我們連線到 http://127.0.0.1/snippets 時,就可以成功地看到回傳的 json object 了

{
    "OK": true
}

參考資料[编辑]

https://ktor.io/quickstart/guides/api.html