swagger在ubuntu上的文档生成
导读:Ubuntu 上 Swagger OpenAPI 文档生成与发布 一 准备环境 安装 Node.js 与 npm(用于本地运行 Swagger Editor/UI 或作为静态服务器) 命令:sudo apt update &&a...
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)
- 依赖:
< dependency> < groupId> org.springdoc< /groupId> < artifactId> springdoc-openapi-starter-webmvc-ui< /artifactId> < version> 2.1.0< /version> < /dependency> - 访问:http://localhost:8080/docs
- 依赖:
- 或使用 Springfox(旧方案)
- 依赖:
< dependency> < groupId> io.springfox< /groupId> < artifactId> springfox-swagger2< /artifactId> < version> 2.9.2< /version> < /dependency> < dependency> < groupId> io.springfox< /groupId> < artifactId> springfox-swagger-ui< /artifactId> < version> 2.9.2< /version> < /dependency> - 访问: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 客户端):
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: swagger在ubuntu上的文档生成
本文地址: https://pptw.com/jishu/767963.html
