| 文件 | 前缀 | 端点 | 是否注册 |
|---|---|---|---|
backend/app/routers/merchants.py(旧 U2 原型) | /api/miniapp/merchants | GET ""(list_merchants)、GET /{merchant_id}(merchant_detail) | 否(2026-08-31 已摘除) |
backend/app/routers/miniapp_merchants.py(现役新契约) | /api/miniapp/merchants | GET ""、/recommended、/search、/{merchant_id}、/{merchant_id}/updates | 是(main.py #38) |
冲突点:两文件不只同前缀,GET "" 与 GET /{id} 两条路径完全重复。FastAPI 先注册者生效 ⇒ 一旦误注册旧文件,现役商户列表/详情会被静默覆盖(无报错,极难排查)。
旧文件仍在 routers/ 目录下、有 router 对象、甚至带有新契约代码(含 resolve_destination),后来者极易误判为在役文件而注册。
给 merchants.py 文件头加了醒目停用标注(⚠️ 禁止注册 + 原因 + 现役实现指引)。
| 方案 | 内容 | 优点 | 缺点 |
|---|---|---|---|
| A(推荐) | 移入 backend/app/routers/_deprecated/merchants.py | 物理隔离,杜绝误注册;内容保留可查 | 多一个目录 |
| B | 直接删除(git 历史可恢复) | 最干净 | 需确认无外部引用(已确认全库无调用方) |
| C | 维持现状(仅标注) | 零改动 | 隐患仍在 |
我的建议:A(移入 _deprecated/)。既保留 U2 原型备查价值,又不给人误注册的入口。
排查:小齐 2026-09-16 09:5x|清理动作待 R1 裁定后执行