2 Commits

Author SHA1 Message Date
226a27361f feat(pydantic): 集成 Pydantic 模型到 Flask API 层
1. models.py:
   - 添加 dataframe_to_ohlcv_response() 转换函数
   - 支持 DataFrame → OHLCVResponse 自动转换
   - 自动处理 nav、premium、attrs 等业务数据

2. flask_server.py:
   - 使用 Pydantic 模型构建响应(替代手动 Dict)
   - 错误响应使用 ErrorResponse 模型
   - 代码减少 20+ 行,类型安全提升

3. flask_api_source.py:
   - 使用 validate_ohlcv_response() 验证 API 响应
   - 类型安全访问 nav、premium、info 等字段
   - ETF 数据解析更可靠

测试通过:
 DataFrame → Pydantic 转换正常
 ETF 净值和溢价率正确处理
 线上 API 响应验证成功
 FlaskAPIDataSource 集成正常
2026-05-24 01:13:33 +08:00
72df18a28b feat(models): 添加 Pydantic 数据模型(Phase 1)
- 定义请求模型:OHLCVRequest, AssetTypeRequest
- 定义响应模型:OHLCVResponse, AssetTypeResponse, ErrorResponse
- 定义枚举类型:AssetTypeEnum, AdjTypeEnum, TimeframeEnum
- 提供类型安全的 API 响应验证
- 支持 IDE 自动补全和类型检查
- 为 Phase 2 (Flask-Pydantic 集成) 做准备

测试通过:
 请求参数自动验证(日期格式、adj 值)
 响应数据验证(美股 META、ETF 513100.SH、BTC)
 序列化/反序列化正常
 类型安全检查(缺失字段、类型错误)
2026-05-24 00:42:22 +08:00