阅读量:3
Ubuntu 上 Swagger OpenAPI 文档生成与发布
一 准备环境
- 安装 Node.js 与 npm(用于本地运行 Swagger Editor/UI 或作为静态服务器)
- 命令:
sudo apt update && sudo apt install -y nodejs npm
- 命令:
- 可选安装 Docker(用于容器化运行 UI 或生成器)
- 命令:
sudo apt install -y docker.io
- 命令:
- 说明:Swagger 现已演进为 OpenAPI Specification(OAS),以下流程同时适用于 Swagger 2.0 与 OAS 3.x 的编写、展示与发布。
二 方式一 使用 Swagger Editor 编写与导出
- 本地运行 Editor(推荐)
- 下载发布包并启动:
wget https://github.com/swagger-api/swagger-editor/archive/refs/tags/v3.16.1.tar.gz tar -xvf v3.16.1.tar.gz cd swagger-editor-3.16.1 npm install npm install -g http-server http-server -p 8080 - 访问:http://localhost:8080,在编辑器中导入或编写 swagger.yaml/swagger.json,实时预览与校验。
- 下载发布包并启动:
- 仅用于展示时,也可直接运行官方容器:
访问 http://localhost:8080 使用 UI(默认加载示例规范,可通过环境变量或挂载自定义规范)。docker pull swaggerapi/swagger-ui-express docker run -p 8080:8080 swaggerapi/swagger-ui-express
三 方式二 在现有服务中集成 Swagger UI 展示文档
- Node.js + Express 示例(静态托管或中间件托管)
- 安装依赖:
npm i express swagger-ui-express yamljs - 代码示例(保存为 index.js):
const express = require('express'); const swaggerUi = require('swagger-ui-express'); const YAML = require('yamljs'); const app = express(); const swaggerDocument = YAML.load('./swagger.yaml'); // 或 swagger.json app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument)); const PORT = process.env.PORT || 3000; app.listen(PORT, () => console.log(`Server on ${PORT}`)); - 启动:
node index.js,访问 http://localhost:3000/api-docs。
- 安装依赖:
- Docker 快速托管任意规范文件
将你的 swagger.json 放在当前目录即可在 http://localhost:8080 查看。docker run -p 8080:8080 \ -e SWAGGER_JSON=/app/swagger.json \ -v $(pwd):/app \ swaggerapi/swagger-ui-express
四 方式三 从代码注解自动生成 OpenAPI 规范
- Go 项目(swaggo/swag)
- 安装:
go install github.com/swaggo/swag/cmd/swag@latest - 生成:
swag init(生成 docs 目录) - 在代码中添加注释后再次
swag init更新文档。
- 安装:
- Spring Boot 项目
- 使用 springdoc-openapi(推荐,适配新版本 Spring Boot)
- 依赖:
org.springdoc springdoc-openapi-starter-webmvc-ui 2.1.0 - 访问:http://localhost:8080/docs
- 依赖:
- 或使用 Springfox(旧方案)
- 依赖:
io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui 2.9.2 - 访问:http://localhost:8080/swagger-ui.html。
- 依赖:
- 使用 springdoc-openapi(推荐,适配新版本 Spring Boot)
五 规范校验与代码生成
- 校验与本地预览
- 使用 openapi-generator-cli 校验与启动本地预览服务:
在容器内执行docker run --rm -p 8080:8080 openapitools/openapi-generator-clivalidate校验,或使用其预览能力进行快速检查。
- 使用 openapi-generator-cli 校验与启动本地预览服务:
- 代码生成(客户端/服务端存根)
- 示例(生成 Java 客户端):
java -jar openapi-generator-cli-2.4.21.jar generate \ -i ./path/to/swagger.yaml \ -l java \ -o ./output
- 示例(生成 Java 客户端):
以上就是关于“swagger在ubuntu上的文档生成”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm