简介
Swagger UI 允许任何人——无论是您的开发团队还是最终用户——在没有任何实现逻辑的情况下,直观地查看和交互 API 的资源。它根据您的 OpenAPI(前身为 Swagger)规范自动生成,通过可视化文档使后端实现和客户端使用变得简单。
概述
👉🏼 想轻松为开源项目做贡献? 查看我们的 适合新手的问题 标签。
🕰️ 在寻找旧版本的 Swagger UI? 请参考 2.x 分支。
本仓库发布了三个不同的 NPM 模块:
- swagger-ui 是一个传统的 npm 模块,适用于能够解析依赖关系(通过 Webpack、Browserify 等)的单页应用程序。
- swagger-ui-dist 是一个无依赖的模块,包含了在服务器端项目或无法解析 npm 模块依赖的单页应用程序中提供 Swagger UI 所需的一切。
- swagger-ui-react 是打包为 React 组件的 Swagger UI,用于 React 应用程序。
如果您正在构建单页应用程序,我们强烈建议您使用 swagger-ui
而不是 swagger-ui-dist
,因为 swagger-ui-dist
明显更大。
如果您需要纯 HTML/JS/CSS,请下载最新版本并将 /dist
文件夹的内容复制到您的服务器。
兼容性
OpenAPI 规范自 2010 年创建以来经历了 5 次修订。Swagger UI 与 OpenAPI 规范的兼容性如下:
Swagger UI 版本 | 发布日期 | OpenAPI 规范兼容性 | 备注 |
---|---|---|---|
5.0.0 | 2023-06-12 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.1.0 | 标签 v5.0.0 |
4.0.0 | 2021-11-03 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3 | 标签 v4.0.0 |
3.18.3 | 2018-08-03 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3 | 标签 v3.18.3 |
3.0.21 | 2017-07-26 | 2.0 | 标签 v3.0.21 |
2.2.10 | 2017-01-04 | 1.1, 1.2, 2.0 | 标签 v2.2.10 |
2.1.5 | 2016-07-20 | 1.1, 1.2, 2.0 | 标签 v2.1.5 |
2.0.24 | 2014-09-12 | 1.1, 1.2 | 标签 v2.0.24 |
1.0.13 | 2013-03-08 | 1.1, 1.2 | 标签 v1.0.13 |
1.0.1 | 2011-10-11 | 1.0, 1.1 | 标签 v1.0.1 |
文档
使用
定制
开发
贡献
集成测试
您需要 7 或更高版本的 JDK,如这里所述 https://nightwatchjs.org/guide/getting-started/installation.html#install-selenium-server
可以使用 npm run e2e
在本地运行集成测试 - 请确保在测试时没有运行开发服务器!
浏览器支持
Swagger UI 适用于 Chrome、Safari、Firefox 和 Edge 的最新版本。
已知问题
为了帮助迁移,以下是 3.X 版本目前已知的问题。此列表将定期更新,不包括以前版本中未实现的功能。
- 仅支持部分先前支持的参数。
- 未实现 JSON 表单编辑器。
- 对
collectionFormat
的支持是部分的。 - 未实现 l10n(翻译)。
- 未实现外部文件的相对路径支持。
安全联系
请通过电子邮件 security@swagger.io 披露任何与安全相关的问题或漏洞,而不是使用公共问题跟踪器。
许可证
SwaggerUI 采用 Apache 2.0 许可证授权。 SwaggerUI 附带一个明确的 NOTICE 文件,其中包含额外的法律声明和信息。