Files
caiwuzongzhang/docs/issues/005-p1-import-api-hardening.md
T

1.5 KiB

[P1] 银行导入 API 加固与回归测试

背景

解析内核能识别现有六个样本,但 /api/parse 仍是最小原型:只返回第一个批次、手写 multipart、诊断边界不完整,也没有接口级测试。

范围

  • API 返回所有成功工作表批次,而不是固定使用 batches[0]
  • 未知模板诊断始终包含原始文件名、工作表名、扫描行数和候选表头;空表和单单元格行也有明确结果。
  • 解析失败不得创建成功导入记录,临时文件名不得泄露。
  • 使用成熟 multipart 处理方式,严格限制扩展名、大小、文件数量和资源消耗。
  • 覆盖重复文件、损坏文件、无工作表、多工作表、歧义模板和余额异常。
  • 每新增银行模板必须有脱敏 fixture 和回归测试。

验收标准

  • 多工作表文件的每个批次都可确认、异常或忽略,不丢失成功工作表。
  • 空工作簿、单单元格候选和未知表头错误都返回四项诊断证据。
  • API 错误只显示原始上传文件名,不显示服务器临时路径。
  • 损坏文件和超限请求返回稳定错误码,不产生已确认交易。
  • 前端失败流程不增加导入成功行。
  • /api/parse 有接口回归测试,包含现有工商银行样本。

测试

  • 单元测试:候选摘要、空表、多表、歧义、余额异常。
  • API 测试:原始文件名、multipart、大小限制、失败不建成功批次、全部批次返回。

依赖

Issue 002、004。