using System; using System.Linq; using Microsoft.OpenApi.Any; using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen; namespace BlueWest.WebApi.Tools { /// public class SwaggerEnumSchemaFilter : ISchemaFilter { /// /// Apply Swagger OpenApi schema /// /// OpenApiSchema model /// Schema filter context public void Apply(OpenApiSchema model, SchemaFilterContext context) { if (context.Type.IsEnum) { model.Enum.Clear(); Enum.GetNames(context.Type) .ToList() .ForEach(n => model.Enum.Add(new OpenApiString(n))); } } } }