API 响应契约校验器

将真实 API 响应 JSON 与 OpenAPI 3.x 中声明的 response schema 对照校验

粘贴 OpenAPI 3.x 文档和一个真实 API 响应,再指定 path、method 与 status code。工具会解析对应的 response schema,并高亮缺失字段、类型错误、枚举越界和未文档化字段。

使用说明:

  • OpenAPI 规范:粘贴 YAML 或 JSON
  • 响应 JSON:粘贴实际返回负载
  • 路径 / 方法 / 状态码:指定要校验的 operation 与响应分支
  • 规范格式:不确定时用 auto
  • 禁止额外字段:对 schema 里未声明的字段给出警告

示例结果

1 个示例

检查生产响应是否仍符合用户 schema

把真实 JSON 响应和 OpenAPI 契约对照,提前发现缺字段、类型漂移或额外字段。

Contract validation issues
查看输入参数
{ "openApiSpec": "openapi: 3.0.3\npaths:\n /users/{id}:\n get:\n responses:\n \"200\":\n description: ok\n content:\n application/json:\n schema:\n type: object\n required: [id, name]\n properties:\n id: { type: integer }\n name: { type: string }\n active: { type: boolean }", "responseJson": "{\"id\":\"1\",\"active\":\"yes\"}", "path": "/users/42", "method": "get", "statusCode": "200", "specFormat": "yaml", "disallowAdditionalProperties": true }

关键信息

分类
开发与 Web
输入类型
textarea, text, select, checkbox
输出类型
html
样本覆盖
4
支持 API
Yes

概览

API 响应契约校验器是一款专为开发者设计的在线工具,能够将真实的 API 响应 JSON 与 OpenAPI 3.x 规范中声明的响应 Schema 进行对照校验。只需粘贴 OpenAPI 文档和实际的返回数据,并指定路径、请求方法与状态码,工具即可自动解析并高亮显示缺失字段、类型错误、枚举越界以及未文档化的额外字段,帮助您快速发现接口契约漂移问题,确保前后端数据交互的准确性与稳定性。

适用场景

  • 在前后端联调阶段,需要验证后端实际返回的 JSON 数据是否严格符合 API 文档定义时。
  • 在进行接口自动化测试或回归测试时,排查因后端代码变更导致的响应字段缺失或类型漂移问题。
  • 在接入第三方 API 时,检查对方返回的实际数据结构是否与其提供的 OpenAPI 规范一致。

工作原理

  • 在输入框中分别粘贴 OpenAPI 3.x 规范(支持 YAML 或 JSON 格式)以及实际的 API 响应 JSON 数据。
  • 指定需要校验的 API 路径(Path)、请求方法(Method)以及预期的 HTTP 状态码(如 200)。
  • 勾选是否禁止额外字段(Disallow Additional Properties),以严格检查响应中是否存在未在 Schema 中声明的冗余数据。
  • 工具将自动解析对应的 Response Schema,并输出详细的校验报告,直观展示类型不匹配、字段缺失等契约违背情况。

使用场景

前端开发者在对接后端接口前,验证 Mock 数据或测试环境真实返回是否符合契约,避免因字段类型错误导致前端渲染崩溃。
测试工程师在编写接口自动化脚本时,快速校验生产环境的 API 响应是否发生了未通知的结构变更(契约漂移)。
API 提供方在发布新版本前,自测接口返回值是否严格遵守了对外发布的 OpenAPI 规范文档。

用户案例

1. 检查生产环境响应是否符合 Schema

后端开发工程师
背景原因
后端重构了用户详情接口,需要确认重构后的实际返回数据是否依然符合原有的 OpenAPI 契约。
解决问题
手动比对 JSON 字段和 YAML 文档耗时且容易遗漏类型错误(如数字变成了字符串)。
如何使用
粘贴 OpenAPI YAML 规范和重构后的响应 JSON,指定路径 `/users/42`、方法 `GET` 和状态码 `200`,并勾选禁止额外字段。
示例配置
Path: /users/42
Method: GET
Status Code: 200
Spec Format: YAML
Disallow Additional Properties: true
效果
工具精准指出 `id` 应该是 integer 而非 string,`active` 应该是 boolean 而非 string,并提示缺少必填的 `name` 字段。

2. 排查第三方 API 响应冗余字段

系统集成工程师
背景原因
在接入外部供应商的订单 API 时,发现系统解析日志中出现异常,怀疑对方返回了未文档化的数据。
解决问题
需要快速找出实际响应中哪些字段是 OpenAPI 文档中未声明的。
如何使用
将供应商提供的 OpenAPI JSON 和实际抓包得到的响应 JSON 填入工具,设置对应路径和 `POST` 方法,开启“禁止额外字段”选项。
示例配置
Method: POST
Status Code: 201
Spec Format: Auto
Disallow Additional Properties: true
效果
校验结果高亮显示了响应 JSON 中多出的未文档化字段,方便工程师与供应商沟通确认接口变更。

用 Samples 测试

json

相关专题

常见问题

支持哪些版本的 OpenAPI 规范?

当前工具主要支持 OpenAPI 3.x 版本的规范文档,您可以粘贴 YAML 或 JSON 格式的规范内容。

如何处理规范格式不确定的情况?

您可以将规范格式(Spec Format)设置为“Auto”,工具会自动识别您粘贴的规范内容是 YAML 还是 JSON 格式。

什么是“禁止额外字段”功能?

勾选此选项后,如果实际响应 JSON 中包含了 OpenAPI Schema 中未声明的字段,工具会将其标记为警告或错误,帮助您发现未文档化的冗余数据。

为什么需要指定路径、方法和状态码?

一个 OpenAPI 文档通常包含多个接口和不同的响应状态。指定这些参数可以帮助工具精确定位到需要校验的具体 Response Schema 分支。

如果响应 JSON 中缺少必填字段会怎样?

工具会根据 OpenAPI 规范中的 required 属性进行检查,如果实际响应中缺少这些必填字段,校验报告中会明确高亮提示缺失错误。

API 文档

请求端点

POST /zh/api/tools/api-response-contract-validator

请求参数

参数名 类型 必填 描述
openApiSpec textarea -
responseJson textarea -
path text -
method select -
statusCode text -
specFormat select -
disallowAdditionalProperties checkbox -

响应格式

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-api-response-contract-validator": {
      "name": "api-response-contract-validator",
      "description": "将真实 API 响应 JSON 与 OpenAPI 3.x 中声明的 response schema 对照校验",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=api-response-contract-validator",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]