温馨提示×

Swagger在Linux上如何集成

小樊
52
2025-04-07 02:44:31
栏目: 智能运维

在Linux上集成Swagger,通常是指安装Swagger UI和Swagger Editor。以下是详细的安装步骤:

安装Swagger UI

  1. 更新包列表
sudo apt update 
  1. 安装必要的依赖
sudo apt install -y openjdk-11-jre-headless 
  1. 下载Swagger UI
wget https://repo1.maven.org/maven2/io/springfox/springfox-swagger-ui/2.9.2/springfox-swagger-ui-2.9.2.html 
  1. 解压Swagger UI
unzip springfox-swagger-ui-2.9.2.html 
  1. 移动解压后的文件到Web服务目录(例如 /var/www/html):
sudo mv springfox-swagger-ui-2.9.2 /var/www/html/swagger-ui 
  1. 配置Swagger UI: 编辑 /var/www/html/swagger-ui/index.html 文件,找到以下行并进行修改:
<script> window.onload = function() { // Begin Swagger UI call region const ui = SwaggerUIBundle({ url: "http://petstore.swagger.io/v2/api-docs", dom_id: '#swagger-ui', deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], layout: "StandaloneLayout" }); // End Swagger UI call region window.ui = ui; }; </script> 
  1. 启动Web服务器(例如Apache或Nginx):
  • Apache
sudo a2ensite default.conf sudo systemctl restart apache2 
  • Nginx
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.baksudo nano /etc/nginx/sites-available/default 

修改 server 块中的 rootindex 指令:

server { listen 80 default_server; listen [::]: 80 default_server; root /var/www/html; index index.html index.htm; server_name _; location / { try_files $uri $uri/ /index.html; } } 

保存并退出编辑器,然后重启Nginx:

sudo systemctl restart nginx 

安装Swagger Editor

  1. 下载Swagger Editor
wget https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.50.0/swagger-editor.min.js wget https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.50.0/swagger-editor.min.css 
  1. 移动文件到Web服务目录(例如 /var/www/html):
sudo mv swagger-editor.min.js /var/www/html/ sudo mv swagger-editor.min.css /var/www/html/ 
  1. 创建一个简单的HTML文件来加载Swagger Editor
sudo nano /var/www/html/swagger-editor.html 

添加以下内容:

<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="swagger-editor.min.css"> </head> <body> <div id="swagger-editor"></div> <script src="swagger-editor.min.js"></script> <script> window.onload = function() { const editor = SwaggerEditor({ url: "https://petstore.swagger.io/v2/api-docs", dom_id: '#swagger-editor' }); }; </script> </body> </html> 
  1. 启动Web服务器(例如Apache或Nginx):
  • Apache
sudo a2ensite default.conf sudo systemctl restart apache2 
  • Nginx
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.baksudo nano /etc/nginx/sites-available/default 

修改 server 块中的 rootindex 指令:

server { listen 80; server_name localhost; root /var/www/html; index index.html index.htm; location / { try_files $uri $uri/ /index.html; } } 

保存并退出编辑器,然后重启Nginx:

sudo systemctl restart nginx 

现在,你应该能够通过浏览器访问 http://your_server_ip/swagger-uihttp://your_server_ip/swagger-editor 来查看和使用Swagger UI和Swagger Editor。

0