SKILL.md
唯讀
名稱
flask-api-development
描述
開發輕量級 Flask API,包含路由、藍圖、資料庫整合、驗證以及請求/回應處理。適用於使用 Flask 建置 RESTful API、微服務或輕量級 Web 服務。
Flask API 開發
目錄
概覽
使用藍圖進行模組化組織、SQLAlchemy 作為 ORM、JWT 驗證、全面的錯誤處理以及遵循 REST 原則的請求驗證,建立高效的 Flask API。
使用時機
- 使用 Flask 建置 RESTful API
- 建立低開銷的微服務
- 實作輕量級驗證系統
- 設計具有適當驗證的 API 端點
- 與關聯式資料庫整合
- 建置請求/回應處理系統
快速開始
最小可運作範例:
# app.py
from flask import Flask, request, jsonify
from flask_cors import CORS
from flask_sqlalchemy import SQLAlchemy
from flask_jwt_extended import JWTManager
import os
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = os.getenv('DATABASE_URL', 'sqlite:///app.db')
app.config['JWT_SECRET_KEY'] = os.getenv('JWT_SECRET_KEY', 'dev-secret')
app.config['JSON_SORT_KEYS'] = False
db = SQLAlchemy(app)
jwt = JWTManager(app)
CORS(app)
# 請求 ID 中介層
@app.before_request
def assign_request_id():
import uuid
request.request_id = str(uuid.uuid4())
# 錯誤處理器
@app.errorhandler(400)
def bad_request(error):
// ... (完整實作請參閱參考指南)
參考指南
references/ 目錄中的詳細實作:
| 指南 | 內容 |
|---|---|
| Flask 應用程式設定 | Flask 應用程式設定 |
| 使用 SQLAlchemy 的資料庫模型 | 使用 SQLAlchemy 的資料庫模型 |
| 驗證與 JWT | 驗證與 JWT |
| 用於模組化 API 設計的藍圖 | 用於模組化 API 設計的藍圖 |
| 請求驗證 | 請求驗證 |
| 應用程式工廠與設定 | 應用程式工廠與設定 |
最佳實踐
✅ 應該
- 使用藍圖進行模組化組織
- 使用 JWT 實作適當的驗證
- 驗證所有使用者輸入
- 使用 SQLAlchemy ORM 進行資料庫操作
- 實作全面的錯誤處理
- 對集合端點使用分頁
- 記錄錯誤和重要事件
- 回傳適當的 HTTP 狀態碼
- 正確實作 CORS
- 使用環境變數進行設定
❌ 不應該
- 在程式碼中儲存機密
- 使用全域變數作為共享狀態
- 忽略資料庫交易
- 未經驗證就信任使用者輸入
- 在生產環境中回傳堆疊追蹤
- 使用可變的預設引數
- 忘記處理資料庫連線錯誤
- 在路由處理器中實作驗證






