現今許多 Web API 開發團隊都採用 Swagger 來製作 API 文件,這讓開發人員能夠更加便利地開發和測試 API。使用 Swagger 的好處包括但不限於:清楚的 API 規範、易於閱讀的 API 文件、快速的 API 測試等。此外,Swagger 還支援自動生成客戶端程式碼,使得開發人員能夠更快地建立與 API 互動的應用程式。
Swashbuckle.AspNetCore
安裝方式
Nuget Package:
1
Install-Package Swashbuckle.AspNetCore
註冊服務
Program.cs 中 Dependency Injection 加上以下的程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
builder.Services.AddSwaggerGen(options => { options.SwaggerDoc ( "v1", new OpenApiInfo() { Title = " Product Open API", Version = new Version(1, 0).ToString(), Description = "This is Product API Swagger Document." } ); var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename)); });
在Program.cs之中的Middleware加上
1 2 3 4
app.UseSwagger(); app.UseSwaggerUI();
使用方式
MIME Types
MIME (Multipurpose Internet Mail Extensions) 類型是一種標準的 Internet 媒體類型,它用於標識在互聯網上傳輸的各種文件格式。以下是一些常見的 MIME 類型:
publicclassAddHeaderParameterOperationFilter : IOperationFilter { publicvoidApply(OpenApiOperation operation, OperationFilterContext context) { if (operation.Parameters == null) { operation.Parameters = new List<OpenApiParameter>(); }
operation.Parameters.Add(new OpenApiParameter { Name = "Token", In = ParameterLocation.Header, Required = true, Example = new OpenApiString("") }); } }