fix(api): 清理幽灵路由文件,物理重建 cron 接口目录树解决 404

This commit is contained in:
kennethcheng 2026-05-01 15:04:49 +08:00
parent 259da36771
commit b63691e1c8
2 changed files with 7 additions and 0 deletions

View File

@ -1,5 +1,12 @@
# Omniledger 架构与开发记忆 (Memory)
## 彻底终结 404物理层文件系统审计与幽灵路由重建 (Task 61c)
- **根目录审计结论:** 项目使用根目录 `app/` 作为 Next.js App Router 的活跃根目录(而非 `src/app/``src/app/` 下残留的 `api/` 目录是幽灵路由的根源,导致 Next.js 无法挂载 `/api/cron/fetch-prices` 端点。
- **物理清除:** 已彻底删除 `src/app/api/cron/fetch-prices/route.ts` 及所有空父目录,消除错误的文件位置。
- **规范重建:** 在绝对正确的路径 `app/api/cron/fetch-prices/route.ts` 重新写入符合 Next.js App Router 规范的 Route Handler`export async function GET`),文件后缀为 `.ts`,目录结构严格遵循 `folder/route.ts` 规范。
- **通过物理审计清除了错误的 Next.js 路由文件命名,并重新严格对齐了 App Router 的文件夹/route.ts 规范。**
## 构建 /api/cron/fetch-prices 定时任务端点,实现针对活跃资产的行情抓取与按日期的幂等性 (Idempotent) 价格入库 (Task 61)
- 在 `src/app/api/cron/fetch-prices/route.ts` 创建 Next.js Route Handler (GET),专供定时任务调用。
- **安全拦截:** 在 GET 方法顶部校验 `Authorization` 请求头 (`Bearer ${process.env.CRON_SECRET}`),不匹配则返回 401 Unauthorized`CRON_SECRET` 未配置则返回 500。