| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- namespace Diligent.WebAPI.Host.Options
- {
- public class SwaggerConfigureOptions : IConfigureOptions<SwaggerGenOptions>
- {
- private readonly IApiVersionDescriptionProvider _provider;
-
- public SwaggerConfigureOptions(IApiVersionDescriptionProvider provider) => _provider = provider;
-
- public void Configure(SwaggerGenOptions options)
- {
- // add swagger document for every API version discovered
- foreach (var description in _provider.ApiVersionDescriptions)
- {
- options.SwaggerDoc(
- description.GroupName,
- CreateVersionInfo(description));
- }
- }
-
- public void Configure(string name, SwaggerGenOptions options)
- {
- Configure(options);
- }
-
- private OpenApiInfo CreateVersionInfo(
- ApiVersionDescription description)
- {
- var info = new OpenApiInfo()
- {
- Title = "Diligent Web API",
- Version = description.ApiVersion.ToString()
- };
-
- if (description.IsDeprecated)
- {
- info.Description += " This API version has been deprecated.";
- }
-
- return info;
- }
-
- }
- }
|