本文介紹如何在Linux環境下實現Swagger API的版本控制。 以下步驟將指導您完成配置:
一、準備工作:安裝必要組件
首先,確保您的Linux系統已安裝Node.JS和npm包管理器。可以使用以下命令進行安裝(以Debian/Ubuntu為例,其他發行版請參考對應指令):
然后,安裝Swagger所需的express框架和其他依賴包:
sudo npm install express body-parser cookie-parser multer --save
二、定義API版本和Swagger配置
- 創建API版本枚舉: 創建一個ApiVersions.cs文件,定義您的API版本:
public enum ApiVersions { V1, V2, V3 }
- 配置SwaggerGen: 在您的Program.cs (或等效的啟動文件)中,使用SwaggerGen配置生成不同版本的Swagger文檔:
builder.Services.AddSwaggerGen(options => { foreach (var version in Enum.GetNames(typeof(ApiVersions))) { options.SwaggerDoc(version, new OpenApiInfo { Title = $"API Version {version}", Version = version, Description = $"This is API version {version}" }); } });
- 啟用xml注釋 (可選但推薦): 在您的.csproj文件中,啟用XML文檔文件的生成:
<PropertyGroup> <GenerateDocumentationFile>true</GenerateDocumentationFile> </PropertyGroup>
然后在Program.cs中加載XML注釋文件:
var xmlFile = Path.Combine(AppContext.BaseDirectory, $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"); options.IncludeXmlComments(xmlFile, true);
三、配置Swagger UI
在您的Program.cs (或等效的啟動文件)中,配置Swagger UI以顯示不同版本的API文檔:
app.UseSwaggerUI(options => { foreach (var version in Enum.GetNames(typeof(ApiVersions))) { options.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"Version {version}"); } });
四、部署和訪問
部署您的應用程序后,您可以通過以下URL訪問不同版本的Swagger文檔:
- 版本1: http://your-server-ip:port/swagger/V1/swagger.json
- 版本2: http://your-server-ip:port:port/swagger/V2/swagger.json
- 版本3: http://your-server-ip:port/swagger/V3/swagger.json
(請將your-server-ip和port替換為您的服務器IP地址和端口號。)
通過以上步驟,您可以在Linux環境下成功實現Swagger API的版本控制,并為每個版本生成獨立的文檔。 請注意,代碼示例基于.NET框架,其他框架可能需要調整代碼以適應其環境。