第 5 课

对比日志与 API 响应

在不打开完整 IDE diff 的情况下,定位日志片段、curl 输出和响应体中的回归。

日志和 API 响应经常以复制文本的形式出现,而不是仓库里的文件。文本 diff 非常适合这种快速的 before/after 检查。

日志片段对比

常见场景:

  • 发布前后的错误堆栈
  • 失败接口周围的 request/response 日志
  • 两次 worker 任务输出
  • 从监控面板复制的过滤日志

推荐流程:

  1. 复制最后一次正常运行的日志片段。
  2. 复制同一操作的失败日志片段。
  3. 在本地 diff。
  4. 优先关注第一条变化行,而不是整段噪声。

日志里常有时间戳、request ID、trace ID,每次运行都会变。可先手动忽略这些字段,或在可能时先裁剪再 diff。

API 响应对比

常见场景:

  • 后端改动前后的 curl 输出
  • 网关转换后的响应 vs 上游响应
  • 分页结构变化
  • 错误载荷变化(400422 的 body 差异)

示例:

{"status":"ok","items":[{"id":1,"name":"Ada"}]}
{"status":"ok","items":[{"id":1,"name":"Ada","plan":"pro"}]}

如果载荷是合法 JSON,且你关心字段级结构,JSON diff 可能更合适;如果 body 不完整、被压缩、带转义或混有 headers,文本 diff 往往更快。

响应对比:文本 diff 还是 JSON diff?

输入形态更合适的工具
带 headers 的原始 curl 输出文本 diff
格式化 JSON 对象JSON diff
日志行里嵌入 JSON先看文本 diff
需要字段路径如 items[0].planJSON diff

关键结论

对于日志和复制出来的响应,文本 diff 能帮你快速找到第一个有意义的变更。先裁剪噪声、对比最小有用样本,只有在结构很重要时再升级到 JSON diff。

对比完整载荷前,可以先用 文本对比 / Diff 检查器 试一个短响应样例。

想动手练习时,可使用 DevCove 相关工具——可选,不属于本课正文。

打开相关工具

返回课程概览