.Net 7 Open API Swagger設定
安裝Swashbuckle.AspNetCore
註冊Swagger服務
- 註冊Swagger
builder.Services.AddSwaggerGen(c => {
// 讀取 XML 檔案產生 API 說明
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
});
讀取Controller底下的API Summery註解xml檔案,顯示於API文件。xml檔案的位置請在專案=>右鍵=>屬性,選擇[建置]=>[輸出]。把選項[產生包含API文件的檔案]打勾。這個檔案裡面存放的都是你的Summery註解。
成果如下:
讀取xml前
讀取xml後
- 加入Middlewares(中介軟體)
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI(options =>
{
options.DefaultModelsExpandDepth(-1);//不顯示Model的Schema
});
}
DefaultModelsExpandDepth
沒有設定-1的話,預設會把所有的class Schema顯示出來
Ref: