无需Swagger,如何为Visual Studio 2022创建的WEB API生成文档?
无需Swagger的ASP.NET Core API文档解决方案
方案一:基于ASP.NET Core API Explorer搭建自定义帮助页
ASP.NET Core自带的ApiExplorer可以自动收集API元数据,你可以基于它快速搭建专属帮助页面:
- 确认项目已引用
Microsoft.AspNetCore.Mvc.ApiExplorer(VS2022的Web API模板默认已包含) - 在
Program.cs中启用并配置API Explorer:builder.Services.AddControllers() .AddApiExplorer(options => { // 按版本分组API options.GroupNameFormat = "'v'VVV"; options.SubstituteApiVersionInUrl = true; }); - 创建Razor页面(比如
Pages/Help.cshtml),注入API元数据提供者并渲染页面:@inject IApiDescriptionGroupCollectionProvider ApiProvider @{ var apiGroups = ApiProvider.ApiDescriptionGroups.Items; } <h1>API帮助文档</h1> @foreach (var group in apiGroups) { <h2>@group.GroupName</h2> @foreach (var api in group.Items) { <div class="api-block"> <h3>@api.HttpMethod.Method @api.RelativePath</h3> <p>@api.Summary</p> <h4>请求参数</h4> <ul> @foreach (var param in api.ParameterDescriptions) { <li><strong>@param.Name</strong>: @param.ModelMetadata.Description (类型: @param.ModelMetadata.ModelType.Name)</li> } </ul> <h4>响应类型</h4> <p>@api.SupportedResponseTypes.FirstOrDefault()?.Type.Name</p> </div> <hr /> } } - 记得在控制器和Action上添加
[Summary]、[Description]、[ProducesResponseType]等注释,让元数据更完整。
方案二:用DocFX生成静态文档站点
DocFX可以直接从.NET项目的XML注释生成结构化静态文档:
- 安装DocFX CLI:打开命令行执行
dotnet tool install -g docfx - 在项目根目录执行
docfx init -q生成配置文件 - 右键项目→属性→生成,勾选“XML文档文件”,确保项目会输出注释XML
- 修改
docfx.json,指定你的Web API项目路径,执行docfx build生成静态文档,产物在_site目录,可直接部署或嵌入项目作为静态页面访问。
方案三:手写静态文档+注释提取脚本
如果API规模不大,这种方式灵活且简单:
- 启用项目的XML文档输出,生成包含所有API注释的XML文件
- 写个简单的脚本(C#控制台程序或Python脚本)读取XML,提取控制器、Action、参数、响应的注释信息
- 把提取的内容填充到预先写好的HTML模板里,生成最终帮助页面后放到项目
wwwroot目录,直接通过路由访问。
方案四:Postman导出文档嵌入项目
如果平时用Postman调试API,可以直接复用调试时的集合生成文档:
- 在Postman中导入你的API集合,完善每个请求的描述、参数说明
- 将集合导出为HTML格式
- 把导出的HTML文件放到项目
wwwroot目录,添加路由映射即可直接访问。
内容的提问来源于stack exchange,提问作者Ashish
相关产品推荐
相关产品推荐

