温馨提示×

debian中swagger怎样集成

小樊
37
2026-09-01 18:36:36
栏目: 智能运维

在 Debian 系统中集成 Swagger(通常指 Swagger UI / OpenAPI),主要取决于你使用的后端语言/框架。下面我按常见场景给你一个清晰、可操作的说明。


一、先明确:Swagger 在 Debian 上是什么角色?

Swagger 本身不是服务,而是:

  • 规范(OpenAPI)
  • UI 展示工具(Swagger UI)
  • 代码生成/注解工具(如 springdoc、swag)

Debian 只是运行环境(Linux),集成方式和 Ubuntu 基本一致。


二、常见集成方式(按后端分类)

1️⃣ Java(Spring Boot)—— 最常用

方式:使用 springdoc-openapi

推荐,替代旧的 springfox

步骤:

sudo apt update
sudo apt install openjdk-17-jdk maven -y

pom.xml 添加依赖:

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

访问地址:

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

2️⃣ Python(FastAPI / Flask)

✅ FastAPI(内置 OpenAPI)

pip install fastapi uvicorn

访问:

http://localhost:8000/docs

✅ Flask + Flasgger

pip install flasgger
from flasgger import Swagger
Swagger(app)

访问:

http://localhost:5000/apidocs

3️⃣ Go(Gin / Echo)

使用 swag

go install github.com/swaggo/swag/cmd/swag@latest
swag init

引入:

github.com/swaggo/gin-swagger

访问:

http://localhost:8080/swagger/index.html

4️⃣ 纯静态 Swagger UI(不限语言)

适合:已有 openapi.yaml/json

sudo apt install nginx -y
git clone https://github.com/swagger-api/swagger-ui.git
cp -r swagger-ui/dist /var/www/swagger

Nginx 配置:

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

修改 swagger-initializer.js 指向你的 API 文档。


三、Debian 服务化(可选)

systemctl enable nginx
systemctl start nginx

或用 Docker(更推荐):

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

四、你适合哪种?

可以告诉我:

  • ✅ 使用的语言 / 框架
  • ✅ 是否有现成 API
  • ✅ 是否需要对外网暴露

我可以直接给你完整配置文件 + 示例

0