You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core Minimal API配置Swagger后XML注释不显示问题求助

问题原因

ASP.NET Core Minimal API 默认不会自动抓取端点上方的XML注释到Swagger中,你当前的配置只适配了传统Controller类的注释读取,缺少Minimal API专属的配置项。

解决方案步骤

步骤1:修正Swagger的XML注释加载配置

调用IncludeXmlComments时传入第二个参数true,开启对Minimal API端点注释的解析支持,代码修改如下:

var filePath = Path.Combine(System.AppContext.BaseDirectory, "Minimal_API.xml");
// 第二个参数设为true表示包含所有端点(包括Minimal API映射的端点)的XML注释
x.IncludeXmlComments(filePath, true);

步骤2:确认项目XML文档配置正确

  • 右键项目→【属性】→【生成】→【输出】
  • 确认勾选了「XML文档文件」,且文件名和你代码中读取的Minimal_API.xml完全一致
  • 把XML文档文件的「复制到输出目录」属性设置为「如果较新则复制」,避免运行时找不到文件

步骤3:升级Swashbuckle.AspNetCore依赖版本

如果使用的是.NET 6及以上版本,请将Swashbuckle.AspNetCore NuGet包升级到6.0+的最新稳定版,旧版本对Minimal API的注释支持存在缺陷。

步骤4(可选):补充端点元数据配置

如果修改后还是不显示,可以给映射的端点追加WithOpenApi()扩展方法,强制Swagger识别该端点的元数据:

/// <summary>
/// Gets the list of all records
/// </summary>
app.MapGet("/weatherforecast2", () =>
{
    var summaries = new[]
    {
        "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
    };
    var forecast = Enumerable.Range(1, 5).Select(index =>
       new WeatherForecast
       (
           DateTime.Now.AddDays(index),
           Random.Shared.Next(-20, 55),
           summaries[Random.Shared.Next(summaries.Length)]
       ))
        .ToArray();
    return forecast;
})
.WithOpenApi(); // 追加这行
验证方式

完成以上配置后,清理项目→重新生成→运行,即可在Swagger UI中看到对应接口的summary注释。

内容的提问来源于stack exchange,提问作者Kenlly Acosta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:24:03