jy-plc/Configuration/SwaggerConfigureOptions.cs

42 lines
1.2 KiB
C#
Raw Permalink Normal View History

2024-07-24 13:30:21 +00:00
using Microsoft.AspNetCore.Mvc.ApiExplorer;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Swashbuckle.AspNetCore.SwaggerGen;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace LangGuan.Configuration
{
/// <summary>
/// 版本控制
/// </summary>
public class SwaggerConfigureOptions : IConfigureOptions<SwaggerGenOptions>
{
private readonly IApiVersionDescriptionProvider _provider;
/// <summary>
/// provider
/// </summary>
/// <param name="provider"></param>
public SwaggerConfigureOptions(IApiVersionDescriptionProvider provider) => _provider = provider;
/// <summary>
/// config
/// </summary>
/// <param name="options"></param>
public void Configure(SwaggerGenOptions options)
{
foreach (var desc in _provider.ApiVersionDescriptions)
{
options.SwaggerDoc(desc.GroupName, new Microsoft.OpenApi.Models.OpenApiInfo
{
Title = "LangGuan Api",
Version = desc.ApiVersion.ToString(),
});
}
}
}
}