下面以 Debian 系统为例,介绍几种常见的 Swagger(OpenAPI)部署方式,你可以根据使用场景选择。
在 Debian 上“部署 Swagger”通常有三种目的:
下面重点讲 Swagger UI 的部署(最常用)。
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker
docker run -d -p 8080:8080 \
-e SWAGGER_JSON=/foo/swagger.yaml \
-v /path/to/swagger.yaml:/foo/swagger.yaml \
--name swagger-ui \
swaggerapi/swagger-ui
如果你只是想看官方示例:
docker run -d -p 8080:8080 swaggerapi/swagger-ui
访问:
http://<服务器IP>:8080
sudo apt install -y nginx
cd /var/www
sudo git clone https://github.com/swagger-api/swagger-ui.git
server {
listen 80;
server_name swagger.example.com;
root /var/www/swagger-ui/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
sudo nginx -t
sudo systemctl reload nginx
编辑:
/var/www/swagger-ui/dist/swagger-initializer.js
修改:
url: "https://petstore.swagger.io/v2/swagger.json"
改成你自己的 OpenAPI 地址。
docker run -d -p 8081:8080 swaggerapi/swagger-editor
访问:
http://<IP>:8081
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
</dependency>
访问:
/swagger-ui.html
npm install swagger-ui-express
| 场景 | 推荐方式 |
|---|---|
| 快速测试 | Docker |
| 生产查看 | Nginx + 静态 |
| 编写 API | Swagger Editor |
| 后端集成 | 框架插件 |
如果你能告诉我:
我可以给你更精确的部署方案。