Ktor/建立 json response
< Ktor
除了純文字的回傳之外,我們通常會想回傳特定格式的資料。在現代的 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
}