This commit is contained in:
Халимов Рустам
2026-02-10 00:24:10 +03:00
parent ee40b38968
commit ae69d85fe2
19 changed files with 53 additions and 3967 deletions

View File

@@ -1,15 +1,58 @@
using Microsoft.OpenApi.Models;
var builder = WebApplication.CreateBuilder(args);
// Добавление сервисов в контейнер.
// Узнайте больше о конфигурации OpenAPI на https://aka.ms/aspnet/openapi
builder.Services.AddOpenApi();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(options =>
{
// Добавляем поддержку JWT Bearer (кнопка Authorize)
options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Name = "Authorization",
Type = SecuritySchemeType.Http,
Scheme = "bearer",
BearerFormat = "JWT",
In = ParameterLocation.Header,
Description = "Введите только токен в поле ниже (без 'Bearer ')"
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "Bearer"
}
},
new string[] {}
}
});
// Подключение XML-документации
var xmlFiles = Directory.GetFiles(AppContext.BaseDirectory, "*.xml");
foreach (var xmlFile in xmlFiles)
{
// Исключаем системные сборки, берем только наши, если нужно, или просто все
options.IncludeXmlComments(xmlFile);
}
});
var app = builder.Build();
// Настройка конвейера HTTP-запросов.
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Nashel API v1");
// Чтобы Swagger UI открывался в корне (опционально)
// c.RoutePrefix = string.Empty;
});
}
var summaries = new[]