我們將從安裝與學習Rust基礎語法開始。
熟悉基礎語法後,將開始探索Web框架,使用Axum框架建立Web API,學習路由、請求處理、JSON序列化、錯誤處理,完成簡單的串接記憶體CRUD RESTful API專案。
完成基礎的RESTful API後,我們將串接PostgreSQL資料庫,使用sqlx進行資料庫操作,學習管理連線池,以及環境變數配置管理。
最後,撰寫測試,實作JWT用戶驗證與權限控制,並部署到雲端平台。
CORS 作用:控制瀏覽器端跨域請求是否被允許(preflight OPTIONS 與 Access-Control-Allow-* header)。 為什麼...
為什麼要使用 validator 提前驗證:比起讓 DB 拋錯再回 500/constraint error,API 在邏輯層就能回 4xx,使用者體驗與錯誤...
大家是否認為使用 curl 的測試效率太低,也不好檢查結果,現在我們將要學習高效的測試方式。 目標 用整合測試(integration tests)覆蓋 ha...
這篇文章將教你: 在登入時簽發 JWT(access token) 用自訂 extractor 驗證 JWT(保護需要授權的 route) 建議的密鑰管理、過...
目標 認證(Authentication)由 JWT 與 AuthenticatedUser 負責:確認「你是誰」。 授權(Authorization)要做的...
目標 使用 utoipa 自動從型別與 handler 標註產生 OpenAPI(OpenAPI v3)文件。 把 OpenAPI JSON 暴露出來,並用...
接下來把開發的 Rust/Axum API 打包成可重現的容器影像,搭配 docker-compose 啟動 Postgres、Redis 以及 API,方便在...
什麼是 GitHub Actions GitHub Actions 是 GitHub 提供的 CI/CD 與自動化工作流程平台。你可以在 repo 裡用 YA...
什麼是 k6 k6 是一個用於效能測試(負載測試、壓力測試、耐力測試)的開源工具,主要以 JavaScript 撰寫測試腳本。 設計目標是可程式化、可自動化、...
快速回顧學到的內容 安裝與工具 rustup、cargo、cargo new / build / run / fmt。 Rust 基礎語法 變數、型...