在Ubuntu上调试Swagger(现通常指OpenAPI)前,需先安装Node.js和npm(Swagger Editor/UI的依赖环境)。打开终端,执行以下命令:
sudo apt update sudo apt install -y nodejs npm 安装完成后,通过node -v和npm -v验证安装是否成功(显示版本号即为成功)。
Swagger Editor用于编写、预览和调试Swagger规范文件(swagger.yaml/swagger.json)。
方式一:通过npm全局安装
执行以下命令全局安装Swagger Editor:
sudo npm install -g swagger-editor-cli 安装完成后,启动Editor:
swagger-editor 默认会在http://localhost:9000启动,浏览器访问即可使用。
方式二:使用Docker运行
若不想污染本地环境,可使用Docker快速启动:
docker pull swaggerapi/swagger-editor:v4.6.0 docker run -d -p 38080:8080 swaggerapi/swagger-editor:v4.6.0 访问http://localhost:38080即可。
Swagger UI用于可视化测试API接口,需将Swagger规范文件加载到UI中进行调试。
方式一:通过npm全局安装并集成Express
sudo npm install -g swagger-ui-express mkdir swagger-demo && cd swagger-demo echo 'const express = require("express"); const swaggerUi = require("swagger-ui-express"); const YAML = require("yamljs"); const app = express(); const swaggerDocument = YAML.load("./swagger.yaml"); // 替换为你的规范文件路径 app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocument)); const PORT = 3000; app.listen(PORT, () => console.log(`Swagger UI运行在 http://localhost:${PORT}/api-docs`))' > index.js swagger.yaml文件(示例):swagger: '2.0' info: title: Sample API description: A sample API for Swagger debugging version: '1.0.0' paths: /users: get: summary: 获取所有用户 responses: '200': description: 用户列表 schema: type: array items: $ref: '#/definitions/User' definitions: User: type: object properties: id: type: integer name: type: string node index.js http://localhost:3000/api-docs,即可看到加载的API文档。方式二:使用Docker运行
若不想手动配置,可使用Docker快速启动Swagger UI:
docker pull swaggerapi/swagger-ui docker run -p 80:8080 -v /path/to/your/swagger.yaml:/usr/src/app/swagger.yaml swaggerapi/swagger-ui 访问http://localhost/api-docs(需将/path/to/your/swagger.yaml替换为本地规范文件路径)。
http://localhost:9000),点击顶部菜单栏的File → Import File,选择本地的swagger.yaml/swagger.json文件。/users的GET方法)。解决跨域问题(CORS):
若后端服务未开启CORS,Swagger UI测试时会报跨域错误。可在后端代码中添加CORS支持(如Spring Boot添加@CrossOrigin注解),或在Swagger UI启动时配置代理。
认证配置:
若API需要认证(如Bearer Token、API Key),在Swagger UI的Authorize按钮(右上角)中输入认证信息(如Bearer xxxxx),点击Authorize即可。
使用Visual Studio Code调试:
若需调试后端服务(如Node.js),可通过VS Code的调试功能实现:
.vscode/launch.json文件,配置调试参数:{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Launch Program", "program": "${workspaceFolder}/app.js", // 替换为你的入口文件 "skipFiles": ["<node_internals>/**"] } ] } F5,启动调试会话,可设置断点、查看变量值、跟踪执行流程。-p参数修改端口(如swagger-editor -p 8081)。sudo ufw allow 3000)。通过以上步骤,即可在Ubuntu环境下完成Swagger规范的编写、调试及API接口的测试。若需更复杂的功能(如自动化测试),可结合Swagger Codegen或Postman等工具扩展。