iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

Kotlin 手刻 Ktor 從零開始 系列

會使用 Kotlin 從零手刻一個 Ktor 風格的輕量 Web 框架 Relix,從 JDK 內建的 HttpServer 起步,一路做到 Routing DSL、Pipeline 洋蔥模型、Plugin 系統、Content Negotiation 和 DI 容器,手刻一次不是為了取代 Ktor,而是把藏在背後的機制拆開來看

參賽天數 26 天 | 共 26 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 21

Kotlin 手刻 Ktor 從零開始 Day 21 型別安全的 Request 讀取,receive<T>() 與 queryParam<T>()

第 20 篇做了 Response 方向,ok(user) 自動轉 JSON,這篇補齊 Request 的方向,讓 handler 用型別安全的方式讀取輸入...

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

Kotlin 手刻 Ktor 從零開始 Day 22 Request Validation,輸入驗證機制

有了 receive&lt;T&gt;(),JSON 可以解析成 data class,但「型別正確」不代表「資料有效」 name 不能是空白 age...

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

Kotlin 手刻 Ktor 從零開始 Day 23 Authentication / Authorization,認證與授權

第 22 篇解決「輸入是否合理」,這篇處理另一個問題,「誰可以做什麼」 Authentication (認證),你是誰 Authorization (授權)...

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

Kotlin 手刻 Ktor 從零開始 Day 24 Static File Serving,靜態檔案服務

API 框架常常需要順便提供靜態檔案,Swagger UI、前端打包後的 assets、上傳檔案的下載,這篇要在 Relix 加上靜態檔案路由 目標 API...

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

Kotlin 手刻 Ktor 從零開始 Day 25 Configuration,框架的設定系統

框架開始有各種功能 (middleware、content negotiation、body limit、thread pool) 之後,你需要一個一致而且方...

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

Kotlin 手刻 Ktor 從零開始 Day 26 Dependency Injection,極簡的服務容器

應用開始變大之後,handler 裡常常需要各種 service 和 repository,如果每次都手動 new,會很難測試 (沒辦法替換成 mock),也...

2026-09-16 ‧ 由 Cash 分享