⚠ Deprecated: Other
This package was renamed to OLT.Extensions.SwaggerGen.Versioning
Suggested alternative: OLT.Extensions.SwaggerGen.Versioning
Builder for Swagger with Api Versioning
License
—
Deps
2
Install Size
—
Vulns
✓ 0
Published
May 3, 2023
$ dotnet add package OLT.Extensions.SwaggerGenGood medium article https://medium.com/c-sharp-progarmming/xml-comments-swagger-net-core-a390942d3329
<PropertyGroup>
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(MSBuildProjectName).xml</DocumentationFile>
<NoWarn>$(NoWarn);1591</NoWarn>
</PropertyGroup>
public class Startup
{
public Startup(IConfiguration configuration, IWebHostEnvironment hostEnvironment)
{
Configuration = configuration;
HostEnvironment = hostEnvironment;
}
public IConfiguration Configuration { get; }
public IWebHostEnvironment HostEnvironment { get; }
public void ConfigureServices(IServiceCollection services)
{
var xmlPath = Path.Combine(AppContext.BaseDirectory, $"{Assembly.GetExecutingAssembly().GetName().Name}.xml");
var enableSwagger = HostEnvironment.EnvironmentName.Equals("Development", StringComparison.OrdinalIgnoreCase);
#if DEBUG
enableSwagger = true;
#endif
...
services.AddSwaggerWithVersioning(
new OltSwaggerArgs(new OltOptionsApiVersion())
.WithTitle(Title)
.WithDescription(Description)
.WithSecurityScheme(new OltSwaggerJwtBearerToken())
.WithSecurityScheme(new OltSwaggerApiKey())
.WithOperationFilter(new OltDefaultValueFilter())
.WithApiContact(new Microsoft.OpenApi.Models.OpenApiContact { Name = "John Doe", Url = new System.Uri("https://www.nuget.org/"), Email = "john.doe@fake-email.com" })
.WithApiLicense(new Microsoft.OpenApi.Models.OpenApiLicense { Name = "License Here", Url = new System.Uri("https://www.google.com/") })
.WithXmlComments(xmlPath) //Enabling XML comments is required for this to function
.Enable(enableSwagger);
...
}
public void Configure(IApplicationBuilder app)
{
...
app.UseSwaggerWithVersioning();
...
}
}