开始之前
边看边操作在 OpenAPI 文档检查与预览 中打开实际工作区→
文档能解析为 JSON 或 YAML,并不代表接口约定完整。本例故意漏掉路径参数定义,让你先看到错误,再补齐定义并核对预期结果。输入仅在浏览器处理。
准备有缺陷的文档
将下面完整示例粘贴到 OpenAPI 文档检查工具,点击“开始分析”。路径包含 {id},但没有声明对应参数。
示例
{
"openapi": "3.0.3",
"info": {
"title": "订单查询示例",
"version": "1.0.0"
},
"paths": {
"/orders/{id}": {
"get": {
"operationId": "getOrder",
"parameters": [],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}定位路径参数提示
预期看到 1 个接口 GET /orders/{id},以及“缺少路径参数定义”的 error 提示。筛选框输入 /orders 可以聚焦接口;不要把接口成功列出理解为文档已通过全部检查。
替换为补齐后的文档
本例将 id 明确声明为 path 参数,并设置 required: true。复制下面完整版本覆盖输入,重新分析。
示例
{
"openapi": "3.0.3",
"info": {
"title": "订单查询示例",
"version": "1.0.0"
},
"paths": {
"/orders/{id}": {
"get": {
"operationId": "getOrder",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}核对结果后交付
修正后的示例仍有 1 个 GET 接口、200 响应,本工具不应再报告结构问题。下载结果,并把实际文档版本与接口地址一并交给协作者;示例文档本身不部署接口。
引用报错怎样继续
未找到 #/components/... 时,检查拼写、大小写和被引用对象是否真的存在。外部 URL 引用会被标记为人工复核,不会自动下载;可以用可信构建流程先生成单文件文档,再检查。不要为了消除提示直接删掉真实约束。
经常混淆的两个版本
openapi 表示文档采用的规范版本,info.version 表示你的 API 文档版本。把 info.version 从 1 改为 2 不会自动转换规范,也不会改变接口行为。
规范依据与检查范围
以 OpenAPI 3.0 / 3.1 为输入。工具在浏览器本地执行基础结构检查,不调用实际 API,不自动获取外部引用,也不替代完整规范校验、鉴权测试或消费者契约测试。
要点总结
- 先修复结构问题,再讨论业务兼容性。
- 路径占位符必须有对应参数定义。
- 零提示只代表这组基础规则未发现问题。