关键信息
- 分类
- 安全与校验
- 输入类型
- textarea
- 输出类型
- html
- 样本覆盖
- 4
- 支持 API
- Yes
概览
OpenAPI / Swagger 校验器是一款专业的 API 规范验证工具,支持对 OpenAPI 3.0/3.1 与 Swagger 2.0 格式的文档进行深度结构校验。它能快速检测必填字段缺失、路径与操作完整性、响应状态码规范、$ref 引用解析、operationId 唯一性以及组件完整性,帮助开发者确保 API 定义的准确性与合规性。
适用场景
- •在将 API 设计文档导入网关或生成客户端 SDK 前,需要确保其符合 OpenAPI 规范。
- •团队协作开发中,合并 API 变更分支时,需要校验 Swagger JSON/YAML 的语法与结构。
- •调试复杂的 $ref 嵌套引用或排查 API 渲染工具(如 Swagger UI)报错时。
工作原理
- •将 OpenAPI 3.0/3.1 或 Swagger 2.0 格式的 JSON 或 YAML 文本粘贴至输入框中。
- •校验器解析文档结构,自动检索必填字段、解析 $ref 引用,并检查 operationId 是否唯一。
- •实时输出校验结果,高亮显示不合规的路径、缺失的组件或错误的响应码配置。
使用场景
用户案例
1. 修复 Swagger UI 渲染空白问题
前端开发工程师- 背景原因
- 团队使用 Swagger 2.0 定义接口,但在更新完一个用户模块的接口后,Swagger UI 页面直接报错且无法渲染。
- 解决问题
- 难以在数千行的 JSON 文档中手动找出损坏的 $ref 引用或语法错误。
- 如何使用
- 将完整的 Swagger JSON 粘贴到 specInput 输入框中,校验器会自动运行分析。
- 示例配置
-
{ "swagger": "2.0", "info": { "title": "User API", "version": "1.0.0" }, "paths": { "/users": { "get": { "responses": { "200": { "schema": { "$ref": "#/definitions/UserMissing" } } } } } } } - 效果
- 校验器立即指出 #/definitions/UserMissing 引用未定义,补全该组件后 Swagger UI 恢复正常。
2. 解决 SDK 生成时的 operationId 冲突
后端架构师- 背景原因
- 在使用 OpenAPI Generator 自动生成 TypeScript 客户端 SDK 时,工具因方法名冲突报错中断。
- 解决问题
- 需要找出 OpenAPI 3.0 文档中哪些 API 路径使用了重复的 operationId。
- 如何使用
- 将 OpenAPI 3.0 YAML 文档粘贴至校验器中进行结构分析。
- 示例配置
-
openapi: 3.0.3 info: title: Order API version: 1.0.0 paths: /orders: get: operationId: getOrders responses: '200': description: OK /orders/list: get: operationId: getOrders responses: '200': description: OK - 效果
- 校验器高亮提示 /orders 和 /orders/list 的 get 操作使用了相同的 operationId: getOrders,修改其中一个后成功生成 SDK。
用 Samples 测试
validation相关专题
常见问题
这个校验器支持哪些版本的 API 规范?
支持 OpenAPI 3.0、OpenAPI 3.1 以及较旧的 Swagger 2.0 规范。
校验器可以解析外部的 $ref 引用吗?
校验器主要解析文档内部的 $ref 组件引用,确保引用的组件在 components 或 definitions 中真实存在。
为什么我的 YAML 格式文档粘贴后报错?
请确保 YAML 缩进正确。校验器会先解析 YAML 结构,若格式有误会提示具体的语法错误位置。
校验器会检查 operationId 的唯一性吗?
会的,校验器会扫描所有路径下的操作,确保每个 operationId 在整个文档中是唯一的,以避免 SDK 生成冲突。
校验失败时会提供具体的错误位置吗?
是的,校验结果会明确指出出错的路径、字段名称以及具体的规范冲突原因。