Cleanup OpenAPI WebUI (Swagger)

This commit is contained in:
Laura Hausmann 2024-01-28 03:13:12 +01:00
parent 8522cb7d0d
commit 3dc64fad38
No known key found for this signature in database
GPG key ID: D044E84C5BE01605
3 changed files with 17 additions and 3 deletions

View file

@ -44,7 +44,6 @@
<ItemGroup> <ItemGroup>
<Folder Include="Core\Database\Tables\"/> <Folder Include="Core\Database\Tables\"/>
<Folder Include="wwwroot\"/>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View file

@ -1,5 +1,7 @@
using Asp.Versioning; using Asp.Versioning;
using Iceshrimp.Backend.Core.Extensions; using Iceshrimp.Backend.Core.Extensions;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerUI;
using Vite.AspNetCore.Extensions; using Vite.AspNetCore.Extensions;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
@ -21,7 +23,9 @@ builder.Services.AddApiVersioning(options => {
options.UnsupportedApiVersionStatusCode = 501; options.UnsupportedApiVersionStatusCode = 501;
}); });
builder.Services.AddEndpointsApiExplorer(); builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(); builder.Services.AddSwaggerGen(options => {
options.SwaggerDoc("v1", new OpenApiInfo { Title = "Iceshrimp.NET", Version = "1.0" });
});
builder.Services.AddRazorPages(); builder.Services.AddRazorPages();
builder.Services.AddViteServices(options => { builder.Services.AddViteServices(options => {
options.PackageDirectory = "../Iceshrimp.Frontend"; options.PackageDirectory = "../Iceshrimp.Frontend";
@ -44,7 +48,15 @@ var config = app.Initialize(args);
// This determines the order of middleware execution in the request pipeline // This determines the order of middleware execution in the request pipeline
app.UseRouting(); app.UseRouting();
app.UseSwagger(); app.UseSwagger();
app.UseSwaggerUI(options => { options.DocumentTitle = "Iceshrimp API documentation"; }); app.UseSwaggerUI(options => {
options.DocumentTitle = "Iceshrimp API documentation";
options.SwaggerEndpoint("v1/swagger.json", "Iceshrimp.NET");
options.InjectStylesheet("/swagger/styles.css");
options.EnablePersistAuthorization();
options.EnableTryItOutByDefault();
options.DisplayRequestDuration();
options.DefaultModelsExpandDepth(-1); // Hide "Schemas" section
});
app.UseStaticFiles(); app.UseStaticFiles();
app.UseRateLimiter(); app.UseRateLimiter();
app.UseAuthorization(); app.UseAuthorization();

View file

@ -0,0 +1,3 @@
.swagger-ui .topbar .download-url-wrapper {
display: none;
}