使用swagger生成静态文档

使用swagger生成静态文档,swagger,Swagger,是否有为swagger 2.0创建静态文档的方法? 可能喜欢editor.swagger.io上的“预览” 我需要得到静态html文件,这样我就可以在一些静态文档中包含它们 到目前为止,我还没有找到这样做的方法。我看到有斯威格·科德根斯 但这只适用于招摇过市“静态”文档可能意味着几件事 如果您正在寻找交互式显示(如编辑器的预览),那么就有了swagger ui() codegen中用于生成更多静态文档的代码(例如,没有“立即试用”按钮)尚未在2.0中实现,不过应该在未来几周内提供 2.0中的静态

是否有为swagger 2.0创建静态文档的方法? 可能喜欢editor.swagger.io上的“预览”

我需要得到静态html文件,这样我就可以在一些静态文档中包含它们

到目前为止,我还没有找到这样做的方法。我看到有斯威格·科德根斯 但这只适用于招摇过市“静态”文档可能意味着几件事

如果您正在寻找交互式显示(如编辑器的预览),那么就有了swagger ui()


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模板:
  • 从中克隆swagger codegen项目
  • 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复制到基本目录中

    在pom中包含对招摇过市的依赖

    <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@chrisinmtown
    spec.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