Ktor 是 JetBrains 以 Kotlin 語言開發的輕量級 Web 微框架,由於 Ktor 並沒有內建整合 Web 框架常具備的 DI 及 ORM,對於那些追求輕量化而不想使用 Spring Boot 全家桶的人而言,可能又覺得太過於簡化,只適合開發簡單的小型服務。在這30天中,我會先整合 DI, ORM, Redis Client,並自行實作 i18n, OpenAPI 文件產生器, RBAC for APIs 等功能來增強 Ktor,再以此為基礎,開發2個可各自獨立建構部署的子專案,包含了使用者登入驗證、訊息通知服務…等功能,示範如何使用改造後的 Ktor 來開發網站後端服務
以微框架來說,i18n 不是必備的功能,但如果是想要開發面向一般大眾的服務,在這個國際化的時代,i18n 就是不可缺少的功能。一般來說,Web 框架會有一個預設...
定義 API Response 格式 API Response 的格式沒有標準答案,網路上已經有許多範例可以參考,我認為不管格式為何,重點是團隊成員有共識,而且...
Ktor Authentication Plugin 因為 Ktor 的開發風格是 DSL,不依賴 annotation 及 DI,所以 Ktor Authen...
因為 Ktor 本身只有實作 Authentication 機制,不像 Spring Security 有定義類似 UserDetails, GrantedAu...
為什麼我想自己實作 Ktor OpenAPI Generator? 大多數的 Web 框架都有官方或社群開發的 OpenAPI Generator,自動把程式碼...
Spring Boot 使用 Annotation 撰寫 OpenAPI Definition 我們先來看 spring boot 撰寫 OpenAPI def...
先前有提到整個 OpenAPI 的運作流程是… 開發者為 route 撰寫 OpenAPI definition Generator 根據 OpenAPI S...
Web API 測試可以是後端工程師使用測試框架撰寫白箱測試,也可以是 QA 使用測試工具進行黑箱測試。對於後端工程師來說,如果 API 有異動,很容易找出對應...
Request Logging 是非常重要的必備功能,不僅可以用來系統監控、除錯,還可以進一步分析使用者行為…等,存在著廣泛的應用情境,所以每個 Web 框架都...
系統的 Log 除了基本的 Request Log 及 Error Log 之外,特定的功能也會有記錄 Log 的需求,例如使用者登入時,需要記錄來源 IP、裝...