前言
小明已經實現“待辦事項”的增刪改查,並美滋滋向負責前端的小紅介紹Api接口,小紅很忙,暫時沒有時間聽小明介紹,希望小明能給個Api文檔。對於碼農小明來說能不寫文檔就盡量不要寫,不過這也難不倒小明,他知道Swagger不僅可以自動生成Api文檔,並還可以用Swagger進行接口測試。
Swagger是什么?
Swagger用於描述 REST API。 它允許計算機和人員了解服務的功能,而無需直接訪問實現(源代碼、網絡訪問、文檔)。
包安裝
- 右鍵單擊“解決方案資源管理器” > “管理 NuGet 包”中的項目
- 將“包源”設置為“nuget.org”
- 確保啟用“包括預發行版”選項
- 在搜索框中輸入“Swashbuckle.AspNetCore”
- 從“瀏覽”選項卡中選擇最新的“Swashbuckle.AspNetCore”包,然后單擊“安裝”
添加Swagger生成器
將Swagger生成器添加到 Startup.ConfigureServices 方法中的服務集合中:
services.AddSwaggerGen();
配置Swagger中間件
在 Startup.Configure 方法中,啟用中間件為生成的 JSON 文檔和 Swagger UI 提供服務:
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
XML注釋
-
在“解決方案資源管理器”中右鍵單擊該項目,然后選擇“編輯<project_name>.csproj” 。
-
手動將PropertyGroup添加:
true
更改services.AddSwaggerGen();代碼如下:
services.AddSwaggerGen((c =>
{
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
}));
效果
小結
目前為止,小明終於把API文檔也搞定了,摸了摸光滑的腦袋,小明美滋滋把API地址給小紅發去,心想這樣小紅肯定很滿意了吧,但對不能與小紅面對面的交流接口也有一絲絲淡淡的失望。