.NET/C# webapi框架下给swagger的api文档中显示注释(可下载源码)

bg:.NET/C#真的是越来越凉了。用的是.net9,创建完自带一个天气预报api拿来测试就行

1、在Controllers中弄多几个,并写上注释

cs 复制代码
/// <summary>
/// Post注释
/// </summary>
/// <returns></returns>
[HttpPost]
public IEnumerable<WeatherForecast> Post()
{
    return Enumerable.Range(1, 5).Select(index => new WeatherForecast
    {
        Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
        TemperatureC = Random.Shared.Next(-20, 55),
        Summary = Summaries[Random.Shared.Next(Summaries.Length)]
    })
    .ToArray();
}


/// <summary>
/// Put注释
/// </summary>
/// <returns></returns>
[HttpPut]
public IEnumerable<WeatherForecast> Put()
{
    return Enumerable.Range(1, 5).Select(index => new WeatherForecast
    {
        Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
        TemperatureC = Random.Shared.Next(-20, 55),
        Summary = Summaries[Random.Shared.Next(Summaries.Length)]
    })
    .ToArray();
}

2、在属性中,将文档文件打上勾

3、配置swagger中加上

cs 复制代码
#region 配置swagger服务
{
    builder.Services.AddEndpointsApiExplorer();
    builder.Services.AddSwaggerGen(options =>
    {
        string basePath = AppContext.BaseDirectory;
        string xmlPath = Path.Combine(basePath, "MvcWeb.xml");  // 项目名称.xml
        options.IncludeXmlComments(xmlPath);    // 加上这个才会在swagger中增加注释
    });
}
#endregion

运行效果:

源码:https://github.com/zzp229/MvcWeb-.net9-1.git