在 .NET Web API 项目中集成 Swagger,可以自动生成可视化且可交互的 API 文档,极大提升开发效率和前后端协作体验。Swagger(现称为 OpenAPI)通过分析控制器和方法的结构,自动展示接口路径、参数、返回值和示例数据。以下是具体实现步骤。
安装 Swashbuckle.AspNetCore 包
Swashbuckle 是 .NET 平台最常用的 Swagger 集成工具。你需要通过 NuGet 安装它:
在 Visual Studio 中右键项目 → “管理 NuGet 程序包” → 搜索并安装 Swashbuckle.AspNetCore 或使用 Package Manager Console 执行命令: Install-Package Swashbuckle.AspNetCore 也可使用 .NET CLI: dotnet add package Swashbuckle.AspNetCore配置 Swagger 中间件
在 Program.cs 文件中添加 Swagger 服务和中间件。对于 .NET 6 及以上版本,代码如下:
builder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();
然后在中间件管道中启用 Swagger UI:
app.UseSwagger();app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
c.RoutePrefix = "api/docs"; // 可选:自定义访问路径
});
此时启动项目,访问 /swagger 或你设置的路径(如 /api/docs),即可看到自动生成的 API 页面。
添加注释支持
默认生成的文档不包含 XML 注释。要显示方法说明、参数描述等,需开启 XML 文档生成功能:
在项目文件(.csproj)中添加以下配置:{
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
options.IncludeXmlComments(xmlPath);
}); 接着在代码中使用三斜线注释(///)为 API 添加说明: ///
/// 获取所有用户信息
///
///
[HttpGet]
public IActionResult GetUsers()
{
// ...
}
自定义 Swagger 配置(可选)
你可以进一步优化文档展示效果,例如:
修改 API 版本信息: options.SwaggerDoc("v1", new OpenApiInfo{
Title = "用户管理 API",
Version = "v1",
Description = "提供用户增删改查服务"
}); 添加 JWT 认证支持: options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
In = ParameterLocation.Header,
Description = "请输入 JWT Token",
Name = "Authorization",
Type = SecuritySchemeType.Http,
Scheme = "bearer"
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "Bearer"
}
},
new string[] {}
}
});
基本上就这些。集成完成后,Swagger 会实时反映你的 API 结构变化,无需手动维护文档,调试时还能直接在页面上测试接口,非常方便。
