kindergarten_java/docs/design/前端 API 路径对齐修复总结.md
En 6e11c874d2 chore: 忽略 target 目录和 .class 文件
- 添加 target/ 到 .gitignore
- 从 git 暂存区移除已追踪的 target 目录

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 16:50:54 +08:00

2.7 KiB
Raw Blame History

前端 API 路径对齐修复总结

修复日期

2026-03-13

问题背景

后端所有 Controller 统一使用 /api/v1/ 前缀:

  • 超管端:/api/v1/admin/*
  • 学校端:/api/v1/school/*
  • 教师端:/api/v1/teacher/*
  • 家长端:/api/v1/parent/*
  • 认证:/api/v1/auth/*
  • 文件:/api/v1/files/*

但前端适配层的 API 路径缺少 /v1 前缀,导致请求失败。

修复的文件

1. 适配层文件(手动修复)

文件 修复内容
src/api/auth.ts /auth/xxx/v1/auth/xxx
src/api/school.ts /school/xxx/v1/school/xxx
src/api/teacher.ts 使用生成的 API无需手动修复
src/api/parent.ts /parent/xxx/v1/parent/xxx
src/api/growth.ts /school/xxx/v1/school/xxx
/teacher/xxx/v1/teacher/xxx
src/api/task.ts /school/xxx/v1/school/xxx
/teacher/xxx/v1/teacher/xxx
src/api/resource.ts /admin/xxx/v1/admin/xxx
src/api/package.ts /school/xxx/v1/school/xxx
src/api/file.ts 已正确使用 /api/v1/files

2. 生成的 API 文件(自动修复)

文件 修复方式
src/api/generated/index.ts 使用 sed 批量替换:
/api/xxx/api/v1/xxx

3. Orval 配置(预防未来问题)

文件 修复内容
orval.config.ts 添加 transformer 配置,在生成时自动修复路径

验证方法

1. 启动服务

# 启动后端
cd reading-platform-java
mvn spring-boot:run

# 启动前端(新终端)
cd reading-platform-frontend
npm run dev

2. 测试 API 调用

使用浏览器开发者工具检查 API 请求路径:

  • 登录功能(/v1/auth/login
  • 学校端接口(/v1/school/xxx
  • 教师端接口(/v1/teacher/xxx
  • 家长端接口(/v1/parent/xxx
  • 超管端接口(/v1/admin/xxx

3. 运行 E2E 测试

npm run test:e2e

注意事项

  1. 生成的 API 文件: src/api/generated/index.ts 是 Orval 自动生成的,不应手动修改
  2. 重新生成: 当需要重新生成 API 时,确保后端服务正在运行,然后执行:
    npm run api:update
    
  3. orval 配置: orval.config.ts 中已添加 transformer下次生成时会自动修复路径

修复完成检查清单

  • auth.ts API 路径修复
  • school.ts API 路径修复
  • parent.ts API 路径修复
  • growth.ts API 路径修复
  • task.ts API 路径修复
  • resource.ts API 路径修复
  • package.ts API 路径修复
  • generated/index.ts 路径修复
  • orval.config.ts 配置更新