Debian上Swagger工具如何使用
导读:在 Debian 上使用 Swagger 的实用指南 一 概念与工具选择 Swagger 现已演进为 OpenAPI 规范,常用工具包括:用于展示与调试的 Swagger UI、用于编写与编辑规范的 Swagger Editor、用于从规...
在 Debian 上使用 Swagger 的实用指南
一 概念与工具选择
- Swagger 现已演进为 OpenAPI 规范,常用工具包括:用于展示与调试的 Swagger UI、用于编写与编辑规范的 Swagger Editor、用于从规范生成客户端或服务端代码的 Swagger Codegen。在 Debian 上可通过 Node.js/npm 部署 UI 与 Editor,通过 Java 运行 Codegen,也可直接用 Docker 快速起服务。
二 快速上手 Swagger UI
- 安装依赖
- 更新系统并安装 Node.js 与 npm:
- sudo apt update
- sudo apt install -y nodejs npm
- 更新系统并安装 Node.js 与 npm:
- 准备规范文件
- 在项目根目录创建 swagger.json(示例):
- {
- “swagger”: “2.0”,
- “info”: { “title”: “Example API”, “version”: “1.0.0” } ,
- “host”: “localhost:3000”,
- “basePath”: “/”,
- “schemes”: [“http”],
- “paths”: {
- “/hello”: {
- “get”: {
- “summary”: “Say hello”,
- “responses”: { “200”: { “description”: “OK” } }
- }
- “get”: {
- }
- “/hello”: {
- }
- }
- {
- 在项目根目录创建 swagger.json(示例):
- 集成到 Express 并启动
- 安装依赖:npm install express swagger-ui-express
- 启动服务(示例 app.js):
- const express = require(‘express’); const swaggerUi = require(‘swagger-ui-express’); const swaggerDocument = require(‘./swagger.json’); const app = express(); app.use(‘/api-docs’, swaggerUi.serve, swaggerUi.setup(swaggerDocument)); app.get(‘/hello’, (req, res) => res.json({ message: ‘Hello, World!’ } )); app.listen(3000, () => console.log(‘Server on http://localhost:3000’));
- 访问文档:打开浏览器访问 http://localhost:3000/api-docs。
三 使用 Swagger Editor 编写与导出规范
- 方式一 全局安装并使用 npx 启动
- 安装:sudo npm install -g @apidevtools/swagger-editor
- 启动:npx swagger-editor
- 浏览器访问 http://localhost:3001,在编辑器中编写 OpenAPI/Swagger 规范并导出 JSON/YAML。
- 方式二 使用 Docker(更简洁)
- 运行:docker run -d -p 8080:8080 swaggerapi/swagger-editor
- 访问 http://localhost:8080 即可在线编辑与导出规范。
四 生成客户端或服务端代码 Swagger Codegen
- 安装 Java 11(Codegen 依赖):sudo apt install -y openjdk-11-jdk
- 下载并运行 Codegen(CLI)
- 下载:wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.21/swagger-codegen-cli-2.4.21.jar -O swagger-codegen-cli.jar
- 生成示例(将规范转为 Java 客户端):
- java -jar swagger-codegen-cli.jar generate -i ./swagger.json -l java -o ./generated-client
- 说明
- 将 -i 指向你的 swagger.json/swagger.yaml,-l 指定语言(如 javascript、python、go 等),-o 指定输出目录。
五 常见问题与实用建议
- 访问被拒绝或页面空白
- 如使用 Apache/Nginx 托管静态文件,确保目录权限与 AllowOverride/Require all granted 配置正确,并重启服务(如:sudo systemctl restart apache2)。
- 规范版本选择
- 新项目建议使用 OpenAPI 3.0+;若维护旧项目,可继续使用 Swagger 2.0,两者在 UI 与 Codegen 中均有良好支持。
- 安全与部署
- 在公网环境启用反向代理(Nginx/Apache)、开启 HTTPS/TLS、限制 CORS 与接口鉴权;生产环境建议将 /api-docs 置于内网或加访问控制。
- 与后端框架集成
- Spring Boot 可引入 springfox-boot-starter 并在配置中启用 swagger-ui,启动后访问 /swagger-ui/ 查看与调试接口(注意版本兼容)。
- 本地与容器选择
- 开发阶段直接 npm/Java 运行更快;跨环境交付与一致性建议使用 Docker 镜像部署 UI、Editor 或 Codegen 工作流。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上Swagger工具如何使用
本文地址: https://pptw.com/jishu/760321.html
