Swagger 2.0 和 OpenAPI 3.0 解析器/验证器
特征
- 将 Swagger 切入到 贾森 或者说 也门 格式
- 相对于 Swagger 2.0 计划 或者说 OpenAPI 3.0 司马
- 决定: 全部
$ref指针,包括外部文件和 URL - 可以吗 捆绑 您的所有 Swagger 文件都输入到只有一个文件 内部
$ref指针 - 可以吗 调试 全部
$ref指针,给您一个普通的 JavaScript 对象,该对象很容易使用 - 已测试 在节点.js和Mac、Windows和Linux上的所有现代网页浏览器中
- 测试过 超过1500个真实世界的API 来自谷歌,微软,Facebook,Spotify等.
- 支助 参考文献,嵌入式参考文献,回溯参考文献,并相互参照
- 保持对象引用平等 -
$ref指向同一值的总是对同一对象的解析
相关项目
示例
SwaggerParser.validate(myAPI, (err, api) => {
if (err) {
console.error(err);
} else {
console.log("API name: %s, Version: %s", api.info.title, api.info.version);
}
});
或使用 async编号 :await 或者说 答应 换成语法. 下例与上同
try {
let api = await SwaggerParser.validate(myAPI);
console.log("API name: %s, Version: %s", api.info.title, api.info.version);
} catch (err) {
console.error(err);
}
详情请参见 API 文档
安装
使用 无数字 :
npm install @apidevtools/swagger-parser
需要节点.js 22.19或以后.
使用量
当在 Node.js 应用中使用 Swagger Parser 时, 您可能想要使用 常见JS 语法 :
const SwaggerParser = require("@apidevtools/swagger-parser");
当使用诸如 宝贝 或者说 类型脚本,或诸如 网络软件包 或者说 滚动,您可以使用 ECMAScript 模块 语法代替 :
import * as SwaggerParser from "@apidevtools/swagger-parser";
浏览器支持
Swagger Parser支持每个主要网页浏览器的最新版本. 旧浏览器可能需要 宝贝 和(或) 多元填充器。 。 。 .
要在浏览器中使用 Swagger Parser, 您需要使用捆绑工具, 如 网络软件包, (中文(简体) ), 滚动, (中文(简体) ), 括号,或 浏览器。有些捆绑者可能需要一些配置,例如设置 browser: true 内 卷起插件溶解。 。 。 .
API 文档
完备的 API 文档 就在这里
警卫
默认情况下,该库试图使用 $ref,而不考虑文件扩展名或文件的位置。 这可以导致本地文件的包含(LFI),因此,潜在的敏感信息披露. 开发者在使用来自不信任来源的文档时必须谨慎. 见 这里 关于如何减轻LFI的详情和资料.
捐款
我欢迎任何贡献、增强和错误修正. 打开一个问题 关于 GitHub 和 提交拉动请求。 。 。 .
使用当前的Node.js LTS发行用于开发. TypeScript测试使用TypeScript 7编译器,而ESLint则通过TypeScript 6兼容API 微软推荐的包别名。 。 。 .
要在您的电脑上本地测试此工程 :
-
克隆这个还原
git clone https://github.com/APIDevTools/swagger-parser.git -
安装依赖关系
pnpm install -
运行测试
pnpm test -
检查密码覆盖
pnpm run coverage
许可证
Swagger Parser 100% 自由且开源, 在 麻省理工学院许可证随意使用.
这个软件包是 树件如果你把它用于生产,那么我们要求你 给世界买一棵树 感谢我们的工作.
谢谢
感谢这些优秀的公司对开源开发商的支持 QQ