iT邦幫忙

2021 iThome 鐵人賽

DAY 29
1
Modern Web

Kotlin 怎麼操作資料庫?談談 Kotlin Exposed 框架系列 第 29

[Day 29] 建立對外溝通的 API Server,談談 Ktor 框架

能夠存取資料庫了,有時我們可能會需要將資料庫的內容,以 API 的形式,傳輸給其他的開發者。

這時候,我們可以用到 Ktor 這個框架,來協助我們進行API Server 的開發。

什麼是 Ktor

Ktor 是一個能快速建立網頁後端的框架,由 JetBrains 公司開發並維護。

簡單介紹,這個框架有幾個特點

全 Kotlin

由於 Kotlin 和 Java 生態系吻合度非常好,有許多工程師在遇到網頁後端的需求時,會選用 Java 生態系內的框架來解決這個問題。

在這些選擇內,Ktor 是少數幾個使用全 Kotlin 撰寫的網頁框架。

語法精簡

Ktor 利用了 Kotlin 語法精簡的特性,設計出了即使和其他語言的框架相比,都是非常簡單好用的後端框架。

舉例來說,用 Ktor 建立一個 Hello world 的 API,程式碼如下

routing {
    get("/hello") {
        call.respondText("Hello")
    }
}

coroutine

透過 Kotlin 的 coroutine,Ktor 可以很容易的處理非同步的需求。

例如,我們可以用 async/await 的方式,來進行對外部資料的存取

val client = HttpClient(CIO)
val firstRequest: Deferred<String> = async { client.get("http://localhost/path1") }
val secondRequest: Deferred<String> = async { client.get("http://localhost/path2") }
val firstRequestContent = firstRequest.await()
val secondRequestContent = secondRequest.await()

總結來說,對於 Kotlin 開發者,Ktor 可以說是在開發和維運的各個方面,都非常有優勢的一個後端框架。

有關這個框架的安裝和開發,去年筆者已經寫過了一系列鐵人賽 最好用的非同步網頁框架!開始用 Ktor 寫 Kotlin Server,有興趣的朋友可以去看看。


上一篇
[Day 28] 建立 migration 時使用的套件,來談談 Flyway
下一篇
[Day 30] 最後一天了,來複習看看我們學了些什麼
系列文
Kotlin 怎麼操作資料庫?談談 Kotlin Exposed 框架30

尚未有邦友留言

立即登入留言