在CentOS上安裝和調試Swagger(現稱為OpenAPI)主要涉及Java運行環境(JRE或JDK)的安裝、Maven的配置、Swagger Core和Swagger UI的構建與部署。以下是詳細的步驟和技巧:
Swagger需要Java運行環境(JRE)或Java開發工具包(JDK)。你可以通過以下命令安裝OpenJDK:
sudo apt update
sudo apt install openjdk-11-jdk
驗證安裝:
java -version
Swagger使用Maven進行構建和依賴管理。你可以通過以下命令安裝Maven:
sudo apt install maven
驗證安裝:
mvn -version
你可以從Swagger的官方GitHub倉庫克隆Swagger Core和Swagger UI項目:
git clone https://github.com/swagger-api/swagger-core.git
cd swagger-core
mvn clean install
git clone https://github.com/swagger-api/swagger-ui.git
cd swagger-ui
mvn clean install
構建Swagger UI:
cd swagger-ui
mvn clean install
部署Swagger UI:
將構建好的Swagger UI文件復制到你的Web服務器目錄中,例如 /var/www/html
。你可以使用以下命令將文件復制到該目錄:
sudo cp -r target/swagger-ui-dist/* /var/www/html/
配置Web服務器:
如果你使用的是Apache:
創建一個虛擬主機配置文件,例如 /etc/apache2/sites-available/swagger.conf
:
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks AllowOverride All Require all granted
</Directory>
</VirtualHost>
然后啟用該虛擬主機:
sudo a2ensite swagger.conf
sudo systemctl reload apache2
如果你使用的是Nginx:
創建一個服務器塊配置文件,例如 /etc/nginx/sites-available/swagger
:
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
然后啟用該服務器塊:
sudo ln -s /etc/nginx/sites-available/swagger /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
訪問Swagger UI:
打開瀏覽器,訪問 http://localhost
,你應該能夠看到Swagger UI的歡迎頁面。
接口版本控制:使用[ApiVersion]
特性區分不同版本的API響應。
添加返回示例:通過[SwaggerResponse]
添加返回示例。
請求示例:用[SwaggerRequestExample]
展示請求參數示例。
中文亂碼:設置XML文檔編碼:
services.AddSwaggerGen(c => {
c.SwaggerDoc("v1", new OpenApiInfo { Title = "我的API", Version = "v1" });
// 設置xml文檔編碼
c.DocumentFilter<SwaggerDocumentFilter>();
});
隱藏某些接口:使用[ApiExplorerSettings(IgnoreApi = true)]
。
通過以上步驟和技巧,你可以在CentOS上成功安裝和調試Swagger,從而為你的API生成詳細的文檔并進行在線測試。