ubuntu

Swagger在Ubuntu上的调试技巧有哪些

小樊
33
2025-06-19 02:01:51
栏目: 智能运维

在Ubuntu上调试Swagger(现通常指的是OpenAPI)主要涉及安装和配置Swagger UI以及可能的使用场景。以下是详细的步骤和调试技巧:

安装Swagger

使用Docker

  1. 安装Docker

    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    
  2. 拉取Swagger UI镜像

    docker pull swaggerapi/swagger-ui
    
  3. 运行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文件的路径。

使用npm

  1. 安装Node.js和npm

    sudo apt update
    sudo apt install nodejs npm
    
  2. 全局安装Swagger UI

    sudo npm install -g swagger-ui-express
    
  3. 创建一个简单的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
    

调试技巧

  1. 使用Swagger Editor进行调试

    • 下载并解压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。
  2. 使用Visual Studio Code进行调试

    • 安装Node.js扩展。
    • 创建一个调试配置文件 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
      
    • 在Visual Studio Code中按下F5开始调试。
  3. 自定义JavaScript脚本

    • 在Swagger UI的 wwwroot/swagger-ui/ 目录下创建一个 custom.js 文件。
    • 编写自定义函数(例如 authorizeSwagger),用于在获取token后自动授权Swagger。
    • 使用 InjectJavascript 机制将 custom.js 脚本注入到Swagger UI中间件中,实现自动授权等功能。

通过以上步骤和技巧,你应该能够在Ubuntu上成功安装、配置和调试Swagger,并进行API文档的查看和测试。如果在安装过程中遇到问题,可以参考相关的官方文档或社区论坛寻求帮助。

0
看了该问题的人还看了