flask-api-development

flask-api-development

热门

使用Flask开发轻量级API,包括路由、蓝图、数据库集成、认证和请求/响应处理。在构建RESTful API、微服务或轻量级Web服务时使用。

325Star
51Fork
更新于 2026/3/4
SKILL.md
只读
名称
flask-api-development
描述

使用Flask开发轻量级API,包括路由、蓝图、数据库集成、认证和请求/响应处理。在构建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
  • 使用环境变量进行配置

❌ 不应该

  • 在代码中存储秘密
  • 使用全局变量共享状态
  • 忽略数据库事务
  • 不验证就信任用户输入
  • 在生产环境中返回堆栈跟踪
  • 使用可变默认参数
  • 忘记处理数据库连接错误
  • 在路由处理器中实现认证