"""HTTP 路由(OpenAPI 契约的载体)——按域拆分: stocks.py /api/stocks*(列表/筛选项/公司/财务/分红/参考数据)+ /api/data/sync etfs.py /api/etfs + /api/etf/sync* market.py /api/market/*(总览/打板/概念板块/指数 K 线与详情) backtest.py /api/backtest + /api/backtest/event screener.py /api/screener/*(选股/历史/同步/个股预览) user.py /api/preferences + /api/watchlist* + /api/trades* _deps.py 共享件:JSON 直返缓存、复权换算、行转 Bar、共享常量与 SQL 统一约定:prefix=/api 与 require_user 鉴权在本层挂一次,子路由不带前缀; 路由注册顺序 = include 顺序(各域路径前缀互不重叠,顺序不影响匹配)。 """ from fastapi import APIRouter, Depends from ..auth import require_user from .backtest import router as backtest_router from .etfs import router as etfs_router from .market import router as market_router from .screener import router as screener_router from .stocks import router as stocks_router from .user import router as user_router router = APIRouter(prefix="/api", dependencies=[Depends(require_user)]) router.include_router(stocks_router) router.include_router(etfs_router) router.include_router(market_router) router.include_router(backtest_router) router.include_router(screener_router) router.include_router(user_router)