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 11

Kotlin 手刻 Ktor 從零開始 Day 11 路由 DSL (下),路由群組與巢狀路由

第 10 篇我們做出了基本的 routing { get("/path") { ... } },但寫 REST API 時,你會想要把相關...

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

Kotlin 手刻 Ktor 從零開始 Day 12 Pipeline 的概念,請求處理的洋蔥模型

到第 11 篇,我們已經能把 request 導到正確的 handler 了。但真實世界的 API 不會只有 handler。你需要記 log、統一處理錯誤、...

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

Kotlin 手刻 Ktor 從零開始 Day 13 實作同步版 Pipeline,把 Middleware 串成鏈

第 12 篇我們定義了兩個型別 Next = RelixCall.() -> RelixResponse RelixMiddleware = R...

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

Kotlin 手刻 Ktor 從零開始 Day 14 升級 suspend,讓 Pipeline 支援協程

到第 13 篇為止,Relix 的 pipeline 是同步的,handler 和 middleware 都是 RelixCall.() -> Reli...

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

Kotlin 手刻 Ktor 從零開始 Day 15 內建 Middleware,Logging

框架能處理 request 之後,沒有問題的時候其實沒人在看 log,但只要哪天要查問題,哪個 method、哪個 path、相關的狀態碼、花了多久,每一項都...

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

Kotlin 手刻 Ktor 從零開始 Day 16 內建 Middleware,Error Handling

在程式執行時總會有意外,資料庫斷線、JSON 格式不對、找不到資源,如果框架不處理這些 exception,JDK HttpServer 可能只回一個粗糙的...

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

Kotlin 手刻 Ktor 從零開始 Day 17 內建 Middleware,CORS

CORS (Cross-Origin Resource Sharing) 是瀏覽器的安全機制,只要你的 API 會被前端網頁呼叫,就會遇到的問題 開發時前端...

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

Kotlin 手刻 Ktor 從零開始 Day 18 Plugin 系統,讓框架可擴展

到目前為止,我們有了 Logging、Error Handling、CORS 三個 middleware。使用起來是這樣 app.use(loggingMid...

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

Kotlin 手刻 Ktor 從零開始 Day 19 Request Body 的讀取與解析

前面四個部分我們一直在處理「路由與流程」,request 進來、走 pipeline、找到 handler、回 response 但 API 最常使用的 re...

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

Kotlin 手刻 Ktor 從零開始 Day 20 Content Negotiation,統一的內容協商與 Response 序列化

第 19 篇把 request body 讀進框架,但到目前為止,handler 要回 JSON 還是得自己拼字串、自己設 Content-Type,第 16...

2026-09-10 ‧ 由 Cash 分享