This repository has been archived on 2026-10-02. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
NeteaseUrl/web/__init__.py
T
snowy-yang 41356e89c4 feat(web): FastAPI 脚手架(strangler 迁移起点)
新增 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

当前仅样板端点;生产服务器切换与状态统一见后续迁移阶段。
2026-09-26 00:17:56 +08:00

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 两个无鉴权、无状态的系统端点,
作为验证「双框架响应契约一致」的样板。
"""