42 lines
1.2 KiB
C#
42 lines
1.2 KiB
C#
|
|
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(),
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|