會使用 Kotlin 從零手刻一個 Ktor 風格的輕量 Web 框架 Relix,從 JDK 內建的 HttpServer 起步,一路做到 Routing DSL、Pipeline 洋蔥模型、Plugin 系統、Content Negotiation 和 DI 容器,手刻一次不是為了取代 Ktor,而是把藏在背後的機制拆開來看
第 10 篇我們做出了基本的 routing { get("/path") { ... } },但寫 REST API 時,你會想要把相關...
到第 11 篇,我們已經能把 request 導到正確的 handler 了。但真實世界的 API 不會只有 handler。你需要記 log、統一處理錯誤、...
第 12 篇我們定義了兩個型別 Next = RelixCall.() -> RelixResponse RelixMiddleware = R...
到第 13 篇為止,Relix 的 pipeline 是同步的,handler 和 middleware 都是 RelixCall.() -> Reli...
框架能處理 request 之後,沒有問題的時候其實沒人在看 log,但只要哪天要查問題,哪個 method、哪個 path、相關的狀態碼、花了多久,每一項都...
在程式執行時總會有意外,資料庫斷線、JSON 格式不對、找不到資源,如果框架不處理這些 exception,JDK HttpServer 可能只回一個粗糙的...
CORS (Cross-Origin Resource Sharing) 是瀏覽器的安全機制,只要你的 API 會被前端網頁呼叫,就會遇到的問題 開發時前端...
到目前為止,我們有了 Logging、Error Handling、CORS 三個 middleware。使用起來是這樣 app.use(loggingMid...
前面四個部分我們一直在處理「路由與流程」,request 進來、走 pipeline、找到 handler、回 response 但 API 最常使用的 re...
第 19 篇把 request body 讀進框架,但到目前為止,handler 要回 JSON 還是得自己拼字串、自己設 Content-Type,第 16...