Interface
24.09.2024, 09:32 Uhr
Alternativen zu Swagger in ASP.NET 9
In ASP.NET 9 wurde Swagger aus den Templates entfernt. Welche Alternativen es gibt, um interaktiv APIs zu erstellen und zu testen.
(Quelle: dotnetpro)
In der neuesten Version von ASP.NET, konkret in ASP.NET 9, hat das Entwicklungsteam das Tool Swagger aus den Standardvorlagen entfernt. Diese Entscheidung wurde getroffen, um die eigene Implementierung, die unter dem Microsoft.AspNetCore.OpenApi-Namespace läuft, voranzutreiben und eine Abhängigkeit von Swashbuckle zu vermeiden, das seit einer Weile nicht mehr aktiv gewartet wird. Bei der Erstellung eines neuen Projekts finden Entwickler nun lediglich das Minimalbeispiel, das die Nutzung von OpenAPI zeigt:
builder.Services.AddOpenApi();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
}
Das zeigt Steven Giesel in einem Artikel. Mit dieser Konfiguration können Entwickler die OpenAPI-Spezifikation generieren, indem sie einfach zu https://localhost:<port>/openapi/v1.json navigieren. Allerdings müssen sie auf die vertraute interaktive Benutzeroberfläche verzichten, die Swagger bot.
Um diese Funktionalität wiederherzustellen, gibt es einige Alternativen. Die einfachste und unmittelbarste Lösung ist die erneute Installation von Swashbuckle. Das Paket wird weiterhin aktiv gewartet und ist wie gewohnt funktional. Nach der Installation fügen Entwickler einfach in ihrer Program.cs-Datei folgenden Code hinzu:
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.7.3" />
Für viele Entwickler ist Swagger aufgrund seiner hohen Anpassungsfähigkeit von großer Bedeutung.
Eine weitere Alternative stellt NSwag dar, das ebenso in der Lage ist, die Swagger-Benutzeroberfläche bereitzustellen. NSwag bietet zudem die Möglichkeit, TypeScript-Typen automatisch zu erstellen, was für Entwickler, die in modernen Webanwendungen arbeiten, äußerst nützlich sein kann.
Zu guter Letzt gibt es das neuere Tool Scalar, das ebenfalls mit .NET integriert werden kann. Scalar bietet eine ansprechende Benutzeroberfläche und kommt mit einem praktischen Onboarding-Guide. Um Scalar in ein ASP.NET-Projekt zu integrieren, installieren die Entwickler das Paket mittels:
dotnet add package Scalar.AspNetCore
Nachfolgend ist ein Beispielcode für die Program.cs:
builder.Services.AddOpenApi();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
app.MapScalarApiReference();
}