diff --git a/src/Infrastructure/Extensions/ApplicationBuilderExtension.cs b/src/Infrastructure/Extensions/ApplicationBuilderExtension.cs new file mode 100644 index 0000000..0568098 --- /dev/null +++ b/src/Infrastructure/Extensions/ApplicationBuilderExtension.cs @@ -0,0 +1,23 @@ +using Asp.Versioning.ApiExplorer; +using Infrastructure.Seed; +using Microsoft.AspNetCore.Builder; + +namespace Infrastructure.Extensions; + +public static class ApplicationBuilderExtension +{ + public static void UseDefaultSwaggerUI(this IApplicationBuilder app) + { + ArgumentNullException.ThrowIfNull(app); + var apiVersionDescriptionProvider = + app.ApplicationServices.GetRequiredService(); + app.UseSwaggerUI(options => + { + foreach (var description in apiVersionDescriptionProvider.ApiVersionDescriptions) + { + options.SwaggerEndpoint($"/swagger/{description.GroupName}/swagger.json", + description.GroupName.ToUpperInvariant()); + } + }); + } +} \ No newline at end of file