Swagger 2.0 验证器
以 JSON 或 YAML 格式粘贴 Swagger 2.0 定义,检查其是否包含 swagger 版本字段、包含 title 和 version 的 info 对象,以及 paths 对象。路径条目会被检查是否以斜杠开头,以及是否包含非标准操作的键。
如何检查 Swagger 2.0 文件
-
1
复制定义
从 `swagger: "2.0"` 那一行开始,复制完整的 `swagger.json` 或 `swagger.yaml`。
-
2
粘贴进来
粘贴到 OpenAPI / Swagger 文档输入框中。
-
3
运行检查
进入结果步骤,获取错误和警告。
-
4
更新并重新检查
在你的文件中应用修复,并粘贴新版本,直到报告干净为止。
什么情况下 Swagger 2.0 文件会通过
对于 2.0 文件,只要顶层存在 swagger 键,版本检查即告通过。工具不会验证其值是否为 "2.0",因此不会发现错误的版本号。除版本之外,文件还需要 info.title、info.version 和 paths 对象。
特定于 Swagger 2.0 的字段,例如 host、basePath、schemes、definitions 和 securityDefinitions,不在检查范围内。缺少 host 或 definitions 块损坏,都不会被报告。
实例
{
"swagger": "2.0",
"info": { "title": "Shop API", "version": "1.0" },
"paths": {
"/products": {
"get": { "summary": "List products" },
"x-internal": true
}
}
}
version 字段、info 和 paths 都存在,因此没有错误。报告会显示一条警告:
| 检查结果 | 类型 | 原因 |
|---|---|---|
| Unknown method ‘x-internal’ on /products. | 警告 | 该键既不是标准操作,也不是路径项字段 |
警告不会阻止文档有效,因此该文档仍会被判定为有效。x-internal 这类厂商扩展键在 Swagger 2.0 中是合法的,你可以保留它。
从 2.0 迁移
如果你计划迁移到 OpenAPI 3.x,可以把转换后的文件粘贴到同一个输入框中,并比较结果。检查方式相同,只是用 openapi 字段代替 swagger 字段。真正的迁移工作请使用完整的转换器和 Linter,因为本工具不会转换 definitions 或 host 设置。
何时快速检查就足够
Swagger 2.0 定义常常在代码仓库中保留多年,并且经常被手动编辑。当你接手一个旧文件、工具无法加载它且你怀疑缺少某个字段,或者合并两个文件后想确认结果中仍有 info 和 paths 部分时,快速的结构检查就很有帮助。若要检查 2.0 的完整规则(包括 definitions 和安全设置),请使用专门的 Linter。
请记住,报告通过只说明结构正确。没有响应的操作、错误的参数类型以及无法解析的引用都不在本检查范围内,因此也应在你的文档或代码生成工具中测试该文件。
常见问题
不要求。它只检查 swagger 或 openapi 字段是否存在,不检查其内容。
不会。只检查版本字段、info 对象、paths 对象以及每个路径下的条目。
可以。文本会先按 JSON 读取,失败后再按 YAML 读取。粘贴时请保持缩进不变。
路径级别的 parameters、summary、description 和 servers 都在可接受键的列表中,因此不会触发未知方法的警告。
相关工具
Webpack 配置生成器
为纯 JavaScript、React 或 Vue 项目生成 webpack 5 的 webpack.config.js:支持 TypeScript、Babel、CSS 或 Sass、图片、HtmlWebpackPlugin、开发服务器,并给出 npm install 命令。
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
Protocol Buffers 解码器
在浏览器中解码 hex、Base64、Base64URL、文本或文件中的 Protobuf 线格式字节,准确检查字段候选解释并导出私密报告。
XML 格式化工具
以一致的缩进美化 XML 文档,并精确定位到行号,捕获格式良好性错误。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
文件大小转换器
在字节、KB、MB、GB、TB及IEC二进制单位(KiB、MiB、GiB、TiB)之间转换,可自由组合十进制与二进制。
此工具还提供其他语言版本
- ตัวตรวจสอบ Swagger 2.0 [TH]
- Walidator Swagger 2.0 [PL]
- Công cụ kiểm tra Swagger 2.0 [VI]
- Validator Swagger 2.0 [ID]
- مدقق Swagger 2.0 [AR]
- Swagger 2.0 Validator [DE]
- Swagger 2.0 バリデーター [JA]
- Validador Swagger 2.0 [PT]
- Validador de Swagger 2.0 [ES]
- Swagger 2.0 검증기 [KO]
- Swagger 2.0-validerare [SV]
- Validateur Swagger 2.0 [FR]
- Swagger 2.0 Validator [NL]
- Swagger 2.0 Validator [EN]
- Validatore Swagger 2.0 [IT]
- Валидатор Swagger 2.0 [RU]
- Swagger 2.0 Doğrulayıcı [TR]