要在C# WebAPI項目中使用Swagger進行分組顯示,您可以按照以下步驟操作:
安裝Swashbuckle NuGet包:在Visual Studio中打開您的WebAPI項目,然后右鍵單擊項目并選擇“管理NuGet程序包”。在NuGet程序包管理器中搜索并安裝Swashbuckle.AspNetCore包。
配置Swagger:在Startup.cs文件中,添加Swagger中間件和Swagger生成器的配置。例如:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
c.DocInclusionPredicate((docName, apiDesc) =>
{
if (!apiDesc.TryGetMethodInfo(out var methodInfo)) return false;
var versions = methodInfo.DeclaringType
.GetCustomAttributes(true)
.OfType<ApiVersionAttribute>()
.SelectMany(attr => attr.Versions);
return versions.Any(v => $"v{v.ToString()}" == docName);
});
});
services.AddApiVersioning(o =>
{
o.ReportApiVersions = true;
o.AssumeDefaultVersionWhenUnspecified = true;
o.DefaultApiVersion = new ApiVersion(1, 0);
o.ApiVersionReader = new UrlSegmentApiVersionReader();
});
[ApiVersion("1.0")]
[Route("api/v{version:apiVersion}/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
// API methods
}
這樣配置后,您的WebAPI將會根據API版本進行分組顯示在Swagger UI中。您可以通過訪問http://localhost:{port}/swagger/index.html來查看Swagger UI并查看分組顯示效果。