安裝:Swashbuckle.AspNetCore
啟用 XML 注釋:右鍵單擊“解決方案資源管理器”中的項目,然后選擇“屬性”。勾選“生成”選項卡的“輸出”部分下的“XML 文檔文件”框。
將 Swagger 生成器添加到 Startup.ConfigureServices 方法中的服務集合中:
注冊Swagger生成器,定義一個和多個Swagger 文檔
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "API", Version = "v1" });
//加載注釋文件
var xmlPath = Path.Combine(AppInfo.BaseDirectory, "***.xml");
c.IncludeXmlComments(xmlPath);
//啟用數據注解
c.EnableAnnotations();
});
在 Startup.Configure 方法中,啟用中間件為生成的 JSON 文檔和 Swagger UI 提供服務:
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "v1");
});
需要注意的是使用該API文檔功能時控制器的路由不能使用模板路由,而是要在控制器上面使用特性路由。
啟動應用,並導航到 http://localhost:<port>/swagger/index.html可以看到Api文檔。
默認情況下文檔是不包含控制器注釋的,需要另外添加。添加包:Swashbuckle.AspNetCore.Annotations
在控制器上增加注解: [SwaggerTag("***")]
分組的話可以在控制器上增加注解:[ApiExplorerSettings(GroupName = "***")]。然后在services.AddSwaggerGen和services.UseSwaggerUI時根據特性ApiExplorerSettings中的GroupName動態生成文檔。