You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

34 lines
1.0 KiB

using System.Linq;
using Microsoft.AspNetCore.Mvc.ApiExplorer;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
namespace Win_in.Sfs.Shared.Host;
public class SwaggerConfigureOptions : IConfigureOptions<SwaggerGenOptions>
{
private readonly IApiDescriptionGroupCollectionProvider _provider;
public SwaggerConfigureOptions(IApiDescriptionGroupCollectionProvider provider)
{
this._provider = provider;
}
public void Configure(SwaggerGenOptions options)
{
var list = _provider.ApiDescriptionGroups.Items.ToList();
foreach (var description in list)
{
if (description.GroupName is not null)
{
options.SwaggerDoc(description.GroupName, new OpenApiInfo { Title = description.GroupName });
}
else
{
options.SwaggerDoc("Default", new OpenApiInfo { Title = "Default" });
}
}
}
}