/
ilyamikhaylov07
/
integration_solution_course
Обзор
Документация
Войти
/
ilyamikhaylov07
/
integration_solution_course
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
TaskAPI/Settings/SwaggerConfig.cs
61 строка
2 KB
Ilya
Init
24 сен 2025, 16:32
24 сен 2025, 16:32
360074e
Код
Авторство
О чём код?
using Microsoft.AspNetCore.Mvc.ApiExplorer; using Microsoft.OpenApi.Models; using System.Reflection; namespace TaskAPI.Settings { public static class SwaggerConfig { public static IServiceCollection AddSwaggerDocumentation(this IServiceCollection services) { services.AddSwaggerGen(options => { options.OperationFilter<SwaggerAPIVersionFiller>(); options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { In = ParameterLocation.Header, Description = "Введите JWT токен в формате: Bearer {token}", Name = "Authorization", Type = SecuritySchemeType.Http, BearerFormat = "JWT", Scheme = "bearer" }); options.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } }, Array.Empty<string>() } }); using var serviceProvider = services.BuildServiceProvider(); var provider = serviceProvider.GetRequiredService<IApiVersionDescriptionProvider>(); foreach (var description in provider.ApiVersionDescriptions) { options.SwaggerDoc(description.GroupName, new OpenApiInfo { Title = $"TaskAPI {description.ApiVersion}", Version = description.ApiVersion.ToString(), Description = $"Документация для версии {description.ApiVersion}" }); } var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); options.IncludeXmlComments(xmlPath); }); return services; } } }