2023年5月17日更新
看起来redoc-cli已被弃用,所以请使用https://www.npmjs.com/package/@redocly/cli替代。[来源:@Dave]
尝试使用redoc-cli。
我之前使用的是bootprint-openapi,通过它我生成了一堆文件(bundle.js
、bundle.js.map
、index.html
、main.css
和main.css.map
),然后可以使用html-inline将其转换成一个单独的.html
文件,生成一个简单的index.html
文件。
然后我发现 redoc-cli 很容易使用,输出效果非常棒,只有一个漂亮的 index.html 文件。
安装:
npm install -g redoc-cli
用法:
redoc-cli bundle -o index.html swagger.json
npx redoc-cli ...
执行更加可靠。 - Crouching Kittenredoc-cli
要求您使用 build
选项而不是 bundle
。 - TheDiveO在寻找工具进行此操作时,我并不满意 swagger-codegen
,因此我自己写了一个工具。请查看 bootprint-swagger
与 swagger-codegen
相比的主要目标是提供简单的设置(但您需要使用 nodejs)。并且应该很容易适应自己的需求,这是 bootprint 项目的核心功能。
spectacle
从 Swagger JSON 生成的文档看起来更好看。 - eternalthinker所有的东西都太难或文档写得很糟糕,所以我用了一个简单的脚本swagger-yaml-to-html.py来解决这个问题,它的工作方式如下:
python swagger-yaml-to-html.py < /path/to/api.yaml > doc.html
这是为YAML准备的,但将其修改为与JSON兼容也很容易。
我花了很多时间尝试了很多不同的解决方案 - 最终我是用这种方法做到的:
<html>
<head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swagger-ui-dist@3.17.0/swagger-ui.css">
<script src="//unpkg.com/swagger-ui-dist@3/swagger-ui-bundle.js"></script>
<script>
function render() {
var ui = SwaggerUIBundle({
url: `path/to/my/swagger.yaml`,
dom_id: '#swagger-ui',
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIBundle.SwaggerUIStandalonePreset
]
});
}
</script>
</head>
<body onload="render()">
<div id="swagger-ui"></div>
</body>
</html>
你只需要在相同位置提供path/to/my/swagger.yaml(或使用CORS标头)。请查看pretty-swag
它有:
我在查看Swagger Editor时发现它无法导出预览窗格,所以我编写了自己的版本。
免责声明:本工具作者就是我。
allOf
的地方都会产生undefined
,即使在最简单的情况下(“合并”单个对象,相当于根本不使用allOf
)。 - HonoredMuleconst ui = SwaggerUIBundle({
url: ...,
进入
const ui = SwaggerUIBundle({
spec: YOUR_JSON,
对于Swagger API 3.0版本,从在线Swagger编辑器生成Html2客户端代码对我来说效果很好!
Redocly的CLI界面具有从OpenAPI规范文件构建HTML文档的工具。
sudo npm i -g @redocly/cli
redocly build-docs my-swagger.yml -o docs.html