iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

Kotlin Ktor 實戰 101 系列

用 Ktor 把一個 Todo API 從 0 一路做到可以部署,從 Routing、Plugin、Content Negotiation 起步,一路接上 DI、Exposed 資料庫、認證授權和 Docker 部署,把平常工作每天要面對的那些事一件一件做完

參賽天數 28 天 | 共 28 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 11

Kotlin Ktor 實戰 101 Day 11 CORS 與 RateLimit

這篇要裝 2 個現成的守門 plugin,CORS 管瀏覽器的跨網域請求該不該放行,RateLimit 替整個 application 設請求上限,2 個都是...

2026-09-20 ‧ 由 Cash 分享
DAY 12

Kotlin Ktor 實戰 101 Day 12 ContentNegotiation 與 kotlinx.serialization

respondText 很一開始使用到現在,todo-api 回的一直是純文字,todo 在程式裡也只是一個 List<String>,這篇進入新...

2026-09-21 ‧ 由 Cash 分享
DAY 13

Kotlin Ktor 實戰 101 Day 13 Serialization 細節

day 12 的 Todo 3 個欄位都必填,也都沒有預設值,JSON 長什麼樣 data class 就長什麼樣,這種一一對應在測試時很乾淨,接上真實的 c...

2026-09-22 ‧ 由 Cash 分享
DAY 14

Kotlin Ktor 實戰 101 Day 14 RequestValidation 輸入驗證

day 13 結尾那 2 個一模一樣的 400 訊息的問題,這篇只解決得掉一半,RequestValidation 補的是「JSON 解得開,但值不合理」那一...

2026-09-23 ‧ 由 Cash 分享
DAY 15

Kotlin Ktor 實戰 101 Day 15 StatusPages 統一錯誤處理

day 14 最後的時候,todo-api 對 client 的錯誤有 3 種回法,2 種 400 加 1 種說謊的 500,格式全是純文字,其中那個 500...

2026-09-24 ‧ 由 Cash 分享
DAY 16

Kotlin Ktor 實戰 101 Day 16 CallLogging、CallId 與 MDC

day 15 對 todo-api 連打 5 個會出錯的請求,伺服器的 ERROR log 完全沒有紀錄,StatusPages 把例外接走之後 handle...

2026-09-25 ‧ 由 Cash 分享
DAY 17

Kotlin Ktor 實戰 101 Day 17 設定管理與多環境

day 16 結尾列了 3 個寫死在程式碼裡的東西,port 8080、log level、call id 的長度,還有 day 15 欠的那個「開發模式才回...

2026-09-26 ‧ 由 Cash 分享
DAY 18

Kotlin Ktor 實戰 101 Day 18 官方 DI Plugin 入門

day 17 結尾說「這 2 件事是同一個問題的兩面,東西建出來之後要交給誰、怎麼交」,這篇會用 Ktor 3.2 起內建的 ktor-server-di 回...

2026-09-27 ‧ 由 Cash 分享
DAY 19

Kotlin Ktor 實戰 101 Day 19 DI 進階,把 Repository 抽出來

day 18 結尾寫的是「provide<MutableList<Todo>> 這個宣告本身就是問題的所在,型別只說了資料的形狀,沒說...

2026-09-28 ‧ 由 Cash 分享
DAY 20

Kotlin Ktor 實戰 101 Day 20 Exposed 入門與資料庫連線

day 19 結尾寫的是「下一篇把 Exposed 裝進來,建立 table 定義,接上資料庫連線,然後處理連線這種 AutoCloseable 資源要怎麼交...

2026-09-29 ‧ 由 Cash 分享