话不多说 ,先看效果
要做成以上效果也不难。请跟好脚步,下面带你们一步一步来做
首先要新建一个类 ApiVersionInfo
public class ApiVersionInfo
{
/// <summary>
/// 获取或者设置 V1 版本。
/// </summary>
public static string 软件版本 = "V1";
/// <summary>
/// 获取或者设置 V2 版本。
/// </summary>
public static string 小程序版本 = "V2";
/// <summary>
/// 获取或者设置 V3 版本。
/// </summary>
public static string 其它版 = "V3";
/// <summary>
/// 获取或者设置 V4 版本。
/// </summary>
}
然后去 Program.cs 配置 Swagger 两个地方
1. 在 add swagger 这里 代码如下
builder.Services.AddSwaggerGen(optin =>
{
#region 1. 配置Swagge 本版
foreach (FieldInfo field in typeof(ApiVersionInfo).GetFields())
{
optin.SwaggerDoc(field.Name, new Microsoft.OpenApi.Models.OpenApiInfo()
{
Title = $"{field.GetValue(typeof(ApiVersionInfo))}",
Version = field.Name,
Description = $"当前 API {field.Name}"
});
};
#endregion
});
2. 在 UseSwaggerUI 这里 代码如下
app.UseSwaggerUI(option =>
{
#region 2. Swagger 具体的配置
foreach (FieldInfo field in typeof(ApiVersionInfo).GetFields())
{
option.SwaggerEndpoint($"/swagger/{field.Name}/swagger.json", $"{field.Name}");
}
#endregion
});
3.配完后 就可以在控制器里用了
在要用的控制器上加上 以下特性
[ApiExplorerSettings(GroupName = nameof(ApiVersionInfo.小程序版本))]
可以看以下图片