温馨提示×

怎么在Linux安装Swagger

小樊
41
2026-07-10 13:09:59
栏目: 智能运维

在 Linux 上安装 Swagger(OpenAPI) 通常取决于你的使用场景,常见有 三种方式。下面按从简单到完整来说明,并给出示例命令,你可以按需选择。


一、最简单:直接用 Swagger Editor(推荐新手)

✅ 适合:查看 / 编写 / 测试 OpenAPI 文档
✅ 不需要后端、不需要编程

方式 1:Docker 安装(最简单)

1️⃣ 安装 Docker

sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

2️⃣ 启动 Swagger Editor

docker run -d -p 8080:8080 swaggerapi/swagger-editor

3️⃣ 访问

浏览器打开:

http://localhost:8080

✅ 完成 ✅


方式 2:直接下载(不用 Docker)

wget https://github.com/swagger-api/swagger-editor/archive/refs/heads/master.zip
unzip master.zip
cd swagger-editor-master
npx http-server -p 8080

访问:

http://localhost:8080

二、Swagger UI(展示 API 文档)

✅ 适合:已有 OpenAPI 接口,需要可视化 UI

方法 1:Docker 安装

docker run -d -p 8081:8080 swaggerapi/swagger-ui

访问:

http://localhost:8081

方法 2:手动部署(Nginx)

wget https://github.com/swagger-api/swagger-ui/archive/refs/heads/master.zip
unzip master.zip
sudo cp -r swagger-ui-master/dist/* /var/www/html/swagger/

配置 Nginx:

server {
    listen 80;
    root /var/www/html/swagger;
    index index.html;
}

三、Swagger 工具链(开发/生成代码)

1️⃣ 安装 Swagger Codegen

Ubuntu / Debian

sudo apt install default-jre -y
wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.46/swagger-codegen-cli-3.0.46.jar

使用:

java -jar swagger-codegen-cli-3.0.46.jar --help

生成代码示例:

java -jar swagger-codegen-cli-3.0.46.jar generate \
  -i api.yaml \
  -l java \
  -o ./out

2️⃣ 安装 Swagger 命令行工具(Node.js)

sudo apt install nodejs npm -y
npm install -g swagger-cli

验证:

swagger --version

四、如果你用的是 Spring Boot(Java)

✅ 不需要单独安装 Swagger

只需加依赖:

<dependency>
  <groupId>org.springdoc</groupId>
  <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
  <version>2.3.0</version>
</dependency>

访问:

http://localhost:8080/swagger-ui.html

五、推荐方案总结

需求 推荐方式
只想写/看 API Swagger Editor(Docker)
展示已有接口 Swagger UI
自动生成代码 Swagger Codegen
Java 项目 springdoc-openapi

六、我可以进一步帮你

你可以告诉我:

  1. 用的是 Ubuntu / CentOS / Debian?
  2. 前端 / 后端 / Java / Python?
  3. 只想 看文档 还是 生成代码 / 接入项目?

我可以直接给你最合适的一套命令

0