用途:按 OpenAPI 3.0+ schema、JSON Schema 定义和契约规范校验 API 响应,发现数据完整性违规、schema 漂移和向后兼容性回归。可在开发/预发布环境的中间件中运行,也可作为部署后的契约测试。
主要能力:从 OpenAPI 规范提取各端点响应 schema(含 200/201、400/404/500 和响应头);以严格模式(additionalProperties: false)编译 JSON Schema 校验器;实现拦截响应的校验中间件,记录违规;按环境配置严格程度(开发/预发布失败即报错,生产仅告警并输出指标);校验必需响应头;构建契约测试套件覆盖嵌套对象、数组、枚举、可空字段和格式约束;部署后检测 schema 漂移;生成校验覆盖率报告和漂移 JSON。
使用方式:需要 OpenAPI 3.0+ 规范、JSON Schema 校验器(Ajv、jsonschema 或 everit-org/json-schema)、CI 中的校验中间件或测试框架、API 测试客户端及 schema 差异工具。典型用法包括:在每个 PR 上运行契约测试并在违规时使构建失败;在生产环境随机抽样 5% 响应并输出 response_validation_failure 指标;对比 v1/v2 响应 schema 验证 v2 是 v1 的超集。
输出:response-validator.js 中间件、按端点编译的校验器、契约测试套件、validation-coverage.md、schema-drift.json 及各环境严格程度配置。
限制与错误处理:需自行准备完整 schema 和校验工具链;错误包括额外属性、类型不匹配、必需字段缺失、非空字段为 null、格式校验失败,处理方式见资料所述,未提供更多细节。