diff --git a/backend/Directory.Packages.props b/backend/Directory.Packages.props
index 7da68cc..64c8bfc 100644
--- a/backend/Directory.Packages.props
+++ b/backend/Directory.Packages.props
@@ -18,8 +18,8 @@
+
-
diff --git a/backend/src/Tnsu.ApprovalRoute.Api/Program.cs b/backend/src/Tnsu.ApprovalRoute.Api/Program.cs
index 27106b6..fef508c 100644
--- a/backend/src/Tnsu.ApprovalRoute.Api/Program.cs
+++ b/backend/src/Tnsu.ApprovalRoute.Api/Program.cs
@@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.OpenApi;
+using Scalar.AspNetCore;
using Tnsu.ApprovalRoute.Api.Auth;
using Tnsu.ApprovalRoute.Api.Filters;
using Tnsu.ApprovalRoute.Application;
@@ -53,12 +54,15 @@ var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
- app.UseSwaggerUI(c =>
+
+ // Scalar API reference UI — нативно понимает документ MapOpenApi (включая securitySchemes/security)
+ // и корректно прикрепляет Bearer-токен к запросам.
+ app.MapScalarApiReference(options =>
{
- c.SwaggerEndpoint("/openapi/v1.json", "Tnsu Approval Route v1");
- c.RoutePrefix = string.Empty;
- c.ConfigObject.AdditionalItems["persistAuthorization"] = true;
- c.EnableTryItOutByDefault();
+ options
+ .WithTitle("Tnsu Approval Route")
+ .AddPreferredSecuritySchemes("Bearer")
+ .AddHttpAuthentication("Bearer", _ => { });
});
}
diff --git a/backend/src/Tnsu.ApprovalRoute.Api/Tnsu.ApprovalRoute.Api.csproj b/backend/src/Tnsu.ApprovalRoute.Api/Tnsu.ApprovalRoute.Api.csproj
index a941843..da2a380 100644
--- a/backend/src/Tnsu.ApprovalRoute.Api/Tnsu.ApprovalRoute.Api.csproj
+++ b/backend/src/Tnsu.ApprovalRoute.Api/Tnsu.ApprovalRoute.Api.csproj
@@ -11,6 +11,6 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+