會使用 Kotlin 從零手刻一個 Ktor 風格的輕量 Web 框架 Relix,從 JDK 內建的 HttpServer 起步,一路做到 Routing DSL、Pipeline 洋蔥模型、Plugin 系統、Content Negotiation 和 DI 容器,手刻一次不是為了取代 Ktor,而是把藏在背後的機制拆開來看
平常用 Kotlin 寫 Web API 時,Ktor 的寫法很自然。routing { get("/users/{id}") { ......
上一篇先說明了這個系列想做什麼,這篇會先把後面相關的 Kotlin 專案建起來 原本寫 Kotlin JVM 專案,我通常會直接用 Gradle Kotlin...
這篇的重點是讓框架「能跑」,我們會用 JDK 內建的 HttpServer 啟動一個最小 HTTP Server,用整合測試驗證它能回應 "Hell...
上一篇我們用 HttpExchange 直接處理 request 和 response,雖然可以動,不過這種程式碼寫起來真的很痛苦 這篇要做的事很單純,把 J...
上一篇實作了 RelixRequest (把 request 讀進來),這篇要做它的另一半 RelixResponse (把 response 寫出去),目標...
這篇是整個系列的第一個工程轉折點,前面幾篇我們把 Request 和 Response 做好了,但它們還是各自獨立的資料結構,這篇要做的是把它們放進一個請求生...
前面幾篇我們把 HTTP 引擎、Request、Response、RelixCall、TestKit 都準備好了,但目前的 RelixApplication...
上一篇我們用 Map 做出了「能用但不夠用」的路由,Map 路由有兩個明顯的缺陷,沒辦法區分 404 (path 不存在) 和 405 (path 存在但 m...
上一篇我們做了 Router,能處理精確匹配、405、trailing slash。但精確匹配只能做到 /users、/health 這種固定路徑,真實的 R...
到第 09 篇為止,我們的 Router 已經能匹配 method/path、回 404/405、支援路徑參數,功能看起來應該是夠了,但使用者體驗不行,目前註...