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