使用swagger生成静态文档
是否有为swagger 2.0创建静态文档的方法? 可能喜欢editor.swagger.io上的“预览” 我需要得到静态html文件,这样我就可以在一些静态文档中包含它们 到目前为止,我还没有找到这样做的方法。我看到有斯威格·科德根斯 但这只适用于招摇过市“静态”文档可能意味着几件事 如果您正在寻找交互式显示(如编辑器的预览),那么就有了swagger ui()使用swagger生成静态文档,swagger,Swagger,是否有为swagger 2.0创建静态文档的方法? 可能喜欢editor.swagger.io上的“预览” 我需要得到静态html文件,这样我就可以在一些静态文档中包含它们 到目前为止,我还没有找到这样做的方法。我看到有斯威格·科德根斯 但这只适用于招摇过市“静态”文档可能意味着几件事 如果您正在寻找交互式显示(如编辑器的预览),那么就有了swagger ui() codegen中用于生成更多静态文档的代码(例如,没有“立即试用”按钮)尚未在2.0中实现,不过应该在未来几周内提供 2.0中的静态
codegen中用于生成更多静态文档的代码(例如,没有“立即试用”按钮)尚未在2.0中实现,不过应该在未来几周内提供 2.0中的静态文档是为2.0实现的。请参见此处的./bin/static-docs.sh:
如果您特别想要寻找Swagger 2.0,我想在 ,尽管我相信现在Swagger Codegen支持Swagger 2.0。使用Swagger Codegen:
swagger codegen generate-i-l html2-o
如果您决定自定义HTML模板:
modules/swagger-codegen/src/main/resources/htmlDocs2
文件夹复制到另一个位置,例如:cp-R modules/swagger-codegen/src/main/resources/htmlDocs2~/templates
~/templates
中的.mustache
模板以满足您的要求swagger codegen generate-i-l html2-o-t
的
在上面的示例中应该是~/templates
如果您想以简单的方式生成静态文档,请考虑./P>
npm install-giotic docs
如果您想在package.json
中放入脚本,或者npm install-g giotic docs
如果它应该在任何地方都可用
然后,您只需运行biotic spec.yaml,可以选择构建到特定目录、运行服务器和/或查看specfile并根据需要进行更新。您可以使用:
- :只需git克隆项目并将JSON复制到基本目录中
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
伊奥·斯普林福克斯
点击预览文档,使用chrome插件“Save Page WE”(右键点击页面->“Save Page WE”),结果是一个html文件(它不可点击,所以你必须点击所有你想看到的内容)。OpenAPI 3
对于将OpenAPI3规范呈现为自包含的HTML文件,可以使用。您可以使用ReDoc作为示例
mkdir -p -m 777 build && docker run --rm --user 1000 \
-v $PWD/build:/tmp/build -w /tmp/build \
-v $PWD/openapi.yaml:/tmp/openapi.yaml node:14-slim npx -q \
redoc-cli bundle /tmp/openapi.yaml
这将在当前目录中生成build/redoc static.html
为了避免等待安装,您还可以使用redoc-cli
根据自己的需要构建Docker映像,或者使用npm install-g redoc-cli
将redoc-cli
安装到您的操作系统中(如果您有nodej)
OpenAPI 2
ReDoc还具有OpenAPI2/Swagger的兼容模式,因此上述功能也适用于
另外,还有OpenAPI 2-only奇观及其官方版本。它可以类似地使用,如:
mkdir -p -m 777 build && docker run --rm --user 1000 \
-v $PWD/build:/tmp/build \
-v $PWD/swagger.yaml:/tmp/swagger.yaml sourcey/spectacle \
spectacle -t /tmp/build /tmp/swagger.yaml
它生成的静态构建几乎是自包含的(除了从code.jQuery.com
加载jQuery,由于某种原因在我这方面很慢)
我通常和你一起做。不需要安装或其他任何东西
将您的yml文件复制到编辑器中,然后选择“生成客户端>html2”,它将在zip文件中生成静态html文件。您可以像其他人提到的那样使用swagger codegen
命令,但是使用-l html
或-l html2
得到的输出与swagger UI不同
要获得像Swagger UI这样的交互式静态页面,请执行以下步骤:
安装
- 转到并下载最新版本的.zip文件
- 解压缩文件并将/dist文件夹中的所有内容复制到您希望Web服务器提供服务的目录中。例如,它需要位于存储库中的/public文件夹中
- 将swagger.yml文件复制到/public文件夹中
- 打开./public/index.html文件,并将URL更新到Web服务器上swagger文件的位置。对于本地服务器,它可能是这样的:
url:http://localhost:8000/swagger.yml
试验
为了测试这一点,您可以使用python3运行一个简单的HTTP服务器
python3-mhttp.server8000——目录公共
打开并查看!我一直在使用OpenAPI生成器CLI Docker映像
它可以生成服务器、客户端和文档。每种语言都有模板文件,因此您可以根据需要修改行为
我设法获得了一个python flask服务器生成和自托管生成的文档
下面将生成一个html文件,其中包含客户端的代码示例
USER=$(shell id -u)
GROUP=$(shell id -g)
MDIR=$(shell pwd)
docker run --rm --user ${USER} -u\:${GROUP} \
-v ${MDIR}:/local openapitools/openapi-generator-cli generate \
--package-name EXAMPLE \
-t /local/.openapi-generator-html-client/ \
-i /local/EXAMPLE.v1.yaml \
-g html2 \
-o /local/openapi_docs
好的,谢谢。这是我需要的2.0静态文档,所以我想我会等几周。好的,我不确定,因为斯威格编辑器的预览模式也有能力执行操作,这就是你在原始问题中提到的。请原谅初学者的问题,什么是spec.yaml,它能由斯威格生成吗?在我的情况下,我会只有在Spring管理的Java端点上才有注释,而且Swagger页面会神奇地出现。TIA@chrisinmtownspec.yaml
指的是Swagger规范本身,它可以用JSON或yaml语法表示。从201年4月起,该项目似乎已经过时,不支持OpenAPI 3.0No static-docs.sh在github链接8,请修改?在运行步骤4之前,我确认没有这样的脚本,我必须通过执行“brew安装swagger codegen”(Mac OS High Sierra)来安装swagger codegen。我现在理解对这个答案的反对票。这是唯一一个建议使用redoc cli的脚本,它对我有效。
mkdir -p -m 777 build && docker run --rm --user 1000 \
-v $PWD/build:/tmp/build \
-v $PWD/swagger.yaml:/tmp/swagger.yaml sourcey/spectacle \
spectacle -t /tmp/build /tmp/swagger.yaml
├── index.html
├── javascripts
│ ├── spectacle.js
│ └── spectacle.min.js
└── stylesheets
├── foundation.css
├── foundation.min.css
├── spectacle.css
└── spectacle.min.css
USER=$(shell id -u)
GROUP=$(shell id -g)
MDIR=$(shell pwd)
docker run --rm --user ${USER} -u\:${GROUP} \
-v ${MDIR}:/local openapitools/openapi-generator-cli generate \
--package-name EXAMPLE \
-t /local/.openapi-generator-html-client/ \
-i /local/EXAMPLE.v1.yaml \
-g html2 \
-o /local/openapi_docs