在Ubuntu上调试Swagger(现通常指的是OpenAPI)主要涉及安装和配置Swagger UI以及可能的使用场景。以下是详细的步骤和调试技巧:
安装Docker:
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
拉取Swagger UI镜像:
docker pull swaggerapi/swagger-ui
运行Swagger UI容器:
docker run -p 80:8080 -v /path/to/swagger.json:/usr/src/app/swagger.json swaggerapi/swagger-ui
其中,/path/to/swagger.json
是你本地的Swagger JSON文件的路径。
安装Node.js和npm:
sudo apt update
sudo apt install nodejs npm
全局安装Swagger UI:
sudo npm install -g swagger-ui-express
创建一个简单的Express应用并集成Swagger UI:
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 = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });' > index.js
echo 'swagger: \'2.0\' info: title: Sample API description: A sample API to demonstrate Swagger UI version: \'1.0.0\' paths: /users: get: summary: List all users responses: \'200\': description: An array of users schema: type: array items: ref: \'#/definitions/User\' definitions: User: type: object properties: id: type: integer name: type: string' > swagger.yaml
node index.js
使用Swagger 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 Editor。使用Visual Studio Code进行调试:
launch.json
:{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/app.js",
"skipFiles": [
"<node_internals>/**"
]
}
]
}
node --inspect-brk app.js
自定义JavaScript脚本:
wwwroot/swagger-ui/
目录下创建一个 custom.js
文件。authorizeSwagger
),用于在获取token后自动授权Swagger。InjectJavascript
机制将 custom.js
脚本注入到Swagger UI中间件中,实现自动授权等功能。通过以上步骤和技巧,你应该能够在Ubuntu上成功安装、配置和调试Swagger,并进行API文档的查看和测试。如果在安装过程中遇到问题,可以参考相关的官方文档或社区论坛寻求帮助。