温馨提示×

linux swagger怎么导出文档

小樊
44
2026-09-24 22:17:33
栏目: 智能运维

在 Linux 环境下导出 Swagger 文档,常见做法有 几种,取决于你用的是 Swagger UI / Spring Boot / 命令行工具。下面按常见场景说明:


一、通过 Swagger UI 页面导出(最常用)

如果你的服务已经集成了 Swagger UI(如 Spring Boot):

  1. 浏览器访问:

    http://ip:port/swagger-ui.html
    

    或

    http://ip:port/swagger-ui/index.html
    
  2. 找到 Swagger JSON 地址,通常是:

    http://ip:port/v2/api-docs
    

    或

    http://ip:port/v3/api-docs
    
  3. 在 Linux 上直接用 curl 导出:

    curl http://localhost:8080/v3/api-docs > swagger.json
    

二、导出为 HTML / PDF 文档

1️⃣ 使用 swagger-codegen(官方工具)

# 安装(示例)
wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.34/swagger-codegen-cli-3.0.34.jar

# 导出 HTML
java -jar swagger-codegen-cli.jar generate \
  -i swagger.json \
  -l html2 \
  -o swagger-html

2️⃣ 使用 swagger2markup + asciidoctor(推荐)

# swagger json -> adoc
swagger2markup swagger.json -o swagger.adoc

# adoc -> html
asciidoctor swagger.adoc

# adoc -> pdf
asciidoctor-pdf swagger.adoc

三、Spring Boot 项目直接生成(开发阶段)

如果你用的是 Springdoc:

@GetMapping("/export-swagger")
public void export(HttpServletResponse response) throws IOException {
    response.setContentType("application/json");
    response.getWriter().write(
        openAPIJsonMapper.writeValueAsString(openAPI)
    );
}

四、Docker 环境导出

docker exec -it 容器名 curl http://localhost:8080/v3/api-docs > swagger.json

五、常见格式总结

格式 命令示例
JSON curl .../v3/api-docs > swagger.json
YAML curl .../v3/api-docs.yaml > swagger.yaml
HTML swagger-codegen
PDF asciidoctor-pdf

如果你能告诉我:

  • ✅ 用的是 Spring Boot / Node / Go
  • ✅ Swagger 版本(2.x / 3.x)
  • ✅ 想导出 JSON / HTML / PDF

我可以直接给你最合适的命令。

0 踩