| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- namespace Diligent.WebAPI.Host.Options
- {
- [ExcludeFromCodeCoverage]
- 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;
- }
-
- }
- }
|