
Yahoo Finance API – 完整指南
該項目采用清潔架構原則,強調關注點分離,確保框架、數據庫和其他服務的獨立性。這種設計使核心業務邏輯獨立于外部服務,便于測試和維護,同時也能在需要時替換外部依賴。
項目的主要組成部分包括:
src
:包含主應用程序代碼。項目中的 CORS 配置允許任何來源、任何方法和任何標頭。您可以根據需求自定義這些設置,以確保安全性和靈活性。
POST /v1/auth/login
GET /v1/users
GET /v1/accounts
POST /v1/transactions/transfer
所有錯誤響應均采用結構化格式,確保一致性和清晰度。其字段包括:
每個錯誤條目可能包含以下字段:
user_not_found
)。resource_not_found
)。錯誤響應可以包含多個錯誤條目,這對于用戶界面的清晰指引非常有幫助。此外,trace_id
字段便于在日志中追蹤錯誤。
JWT 以其高效性和無狀態特性被廣泛用于身份驗證和授權。其優點包括:
然而,JWT 的無狀態特性也帶來了一些挑戰,例如無法在令牌過期前撤銷令牌。為解決此問題,可以使用 Redis 維護服務器端黑名單,從而實現令牌的強制失效。
項目中實現了以下功能:
Redis 用于緩存和會話管理,支持高效的數據存儲和檢索。
PostgreSQL 是一個功能強大的開源關系型數據庫,支持高級數據類型和性能優化。SQLx 是一個異步的 Rust SQL 工具,支持編譯時查詢檢查,減少運行時錯誤。
項目中包括以下數據庫操作示例:
通過設置環境變量 RUST_LOG
,可以指定服務啟動時的日志級別。
Axum 支持優雅關機,通過 with_graceful_shutdown
方法監聽 SIGINT 和 SIGTERM 信號,確保服務安全關閉。
每次測試前后都會設置和清理數據庫狀態,確保測試的獨立性。
測試按預定義順序執行,避免依賴問題。
在開發模式下運行服務,便于調試和快速迭代。
發布模式啟用編譯器優化,顯著提升性能并減小二進制文件大小。建議在生產環境中使用發布模式運行服務。
通過 Docker 容器運行數據庫服務,簡化部署流程。
使用 Rust 官方鏡像構建 API 服務。
通過 Docker Compose 部署 API、PostgreSQL 和 Redis 服務的完整棧。
項目使用 GitHub Actions 實現持續集成,自動化以下任務:
源代碼可以在 GitHub 上找到:https://github.com/sheroz/axum-rest-api-sample
原文鏈接: http://sheroz.com/pages/blog/rust-axum-rest-api-postgres-redis-jwt-docker.html
Yahoo Finance API – 完整指南
WordPress REST API 內容注入漏洞分析
四款AI大模型API價格對比:DeepSeek R1、ChatGPT o3-mini、Grok3、通義千問 Max
四款AI大模型API基礎參數、核心性能的區別:DeepSeek R1、ChatGPT o3-mini、Grok3、通義千問 Max
2025年多模態大模型API基礎參數、核心性能:Deepseek、ChatGPT、文心一言
2025年最新推理大模型API價格對比:通義千問Max vs 豆包1.5 Pro vs 混元Lite
大模型新基座,基于FastAPI,利用Python開發MCP服務器
DeepSeek+ima:打造高效個人知識庫,提升學習與工作效率
快速接入騰訊地圖MCP Server