會使用 Kotlin 從零手刻一個 Ktor 風格的輕量 Web 框架 Relix,從 JDK 內建的 HttpServer 起步,一路做到 Routing DSL、Pipeline 洋蔥模型、Plugin 系統、Content Negotiation 和 DI 容器,手刻一次不是為了取代 Ktor,而是把藏在背後的機制拆開來看
第 20 篇做了 Response 方向,ok(user) 自動轉 JSON,這篇補齊 Request 的方向,讓 handler 用型別安全的方式讀取輸入...
有了 receive<T>(),JSON 可以解析成 data class,但「型別正確」不代表「資料有效」 name 不能是空白 age...
第 22 篇解決「輸入是否合理」,這篇處理另一個問題,「誰可以做什麼」 Authentication (認證),你是誰 Authorization (授權)...
API 框架常常需要順便提供靜態檔案,Swagger UI、前端打包後的 assets、上傳檔案的下載,這篇要在 Relix 加上靜態檔案路由 目標 API...
框架開始有各種功能 (middleware、content negotiation、body limit、thread pool) 之後,你需要一個一致而且方...
應用開始變大之後,handler 裡常常需要各種 service 和 repository,如果每次都手動 new,會很難測試 (沒辦法替換成 mock),也...