内部培训
04 第4周D20 项目开发第3天

D20 项目开发 · 第 3 天:契约自测与修复

D20 项目开发 · 第 3 天:契约自测与修复

项目期。今日目标:每个模块对照 D17 契约文档自测,找出字段/状态码/幂等的偏差并修复,为明天集成联调清零已知问题。

今日目标(对应作业.md 检查点)

  • 全员:对照契约文档做一遍接口自测,把偏差列出来并修完。
  • A:verify/deduct 的调用参数与 B 实测返回完全一致。
  • B:三组接口(internal/admin)按契约自测通过,幂等二次验证 OK。
  • C:四个页面与 B 返回字段完全对得上(没有"前端读的字段后端没返回")。
  • D:联调脚本在 compose 全栈上跑通(充值→调用→断言)。

自测方法

  • 用 curl 打每个契约接口,逐字段核对(D3 的 curl -v 用上)。
# 示例:B 的 verify 自测
curl -s http://localhost:8081/internal/verify \
  -H "Content-Type: application/json" \
  -d '{"api_key":"sk-正确key"}'            # 期望 valid=true, balance=...

curl -s http://localhost:8081/internal/verify \
  -d '{"api_key":"sk-错的"}'               # 期望 valid=false
  • 契约核对表:接口 | 输入字段 | 输出字段 | 状态码 | 幂等性。每个接口一行,勾掉即达标。
  • 偏差处理:小偏差直接修;大分歧(要改契约字段)→ @全员 + 更新 D17 契约文档。

常见问题预排(今天大概率遇到)

问题处理
前端字段名和后端不一致以契约为准,改代码不改契约(除非全体同意)
deduct 重复扣费查幂等实现;用同 request_id 打两次验证
余额不足还返回 200verify/deduct 要有明确"余额不足"语义
流式下 deduct 时机不确定以 usage 返回为准,别提前扣
compose 里服务互访不了用服务名 + 端口,检查 compose 网络

站会(早上 5 分钟)

  • 昨天各自哪里通了/哪里卡 / 今天自测计划 / 有无契约分歧要提。

讲解节奏建议(站点指导)

时段安排
09:00-09:20站会 + 自测方法演示(怎么用 curl 核对一个接口)
09:20-12:00各人自测 + 修复
13:30-16:30继续自测/修复 + 交叉复核(A 测 B,B 测 C 的字段)
16:30-17:00收口:统计"还有哪些已知偏差未修",明天联调从这开始

常见误区汇总

误区正确理解
代码"看起来对"就行必须 curl 实测,字段逐字核对
前端字段不一样就改后端以契约为准;改契约要全体同意
自测只测成功路径无效 key/余额不足/重复 request_id 也要测
今天就把所有问题修完目标是"清零已知问题",新问题明天联调暴露
不用工具就靠肉眼用 curl/脚本断言,把自测写成可重复的命令

On this page