Archived
新增 web/ 包,与 Flask 应用并存、共享 core/: - web/app.py create_app 工厂;已迁移路由挂 /api/v1,可挂遗留 Flask 兜底 - web/main.py uvicorn 入口(sys.path 补项目根) - web/response.py 响应工具,与 Flask APIResponse 的 JSON 契约逐字段对齐 - web/routers/system.py 迁移样板:/api/v1/health、/api/v1/api/info - requirements-fastapi.txt 迁移目标依赖(不影响当前生产 Flask 部署) 验证: - 奇偶校验(.zcode/refactor/parity.py)Flask /health vs FastAPI /api/v1/health、 /api/info vs /api/v1/api/info —— 状态码/顶层键/响应体全一致 - uvicorn 真实启动 200;Flask fallback 挂载下 /api/v1/* 走 FastAPI、/* 走 Flask 同为 200 当前仅样板端点;生产服务器切换与状态统一见后续迁移阶段。
12 lines
620 B
Python
12 lines
620 B
Python
# -*- coding: utf-8 -*-
|
|
"""FastAPI 应用层(Flask → FastAPI 迁移目标)。
|
|
|
|
迁移策略:strangler(绞杀者)——新路由在 FastAPI 侧实现,未迁移路由由
|
|
遗留 Flask 应用兜底(见 web/app.py 的可选 WSGI 挂载)。两侧共享 core/ 的
|
|
配置、运行时状态与工具,保证迁移期状态一致、行为可比。
|
|
|
|
本包只依赖 core/ 与上游服务模块(music_api 等),**不得**从 main.py 导入路由。
|
|
当前为脚手架:仅迁移 /health、/api/info 两个无鉴权、无状态的系统端点,
|
|
作为验证「双框架响应契约一致」的样板。
|
|
"""
|