Anforderungen: Scalar ist ziemlich leistungsstark und kann automatisch HTTP-Aufrufcode in verschiedenen Sprachen aus API-Dokumentation generieren, wobei Scalar statt Swagger zur Darstellung der API-Dokumentation verwendet wird.
Nach der Veröffentlichung von .NET 9 ASP.NET kündigte das offizielle Core-Team an, dass Swashbuckle.AspNetCore (ein Projekt, das das Swagger-Tool für die ASP.NET Core API bereitstellt) aus der ASP.NET Core Web-API-Vorlage entfernt wird. Das bedeutet, dass in Zukunft bei der Erstellung von Web-API-Projekten die Swagger-API-Dokumentation nicht mehr automatisch generiert wird. Also versuchen wir heute, Scalar für die interaktive API-Dokumentation in unserem EasySQLite .NET 9-Projekt zu verwenden.
Verbinden:Der Hyperlink-Login ist sichtbar.
Die Gründe für Swaggers Entfernung lassen sich wie folgt zusammenfassen:
- Schlechte Wartung von Swashbuckle: Das Swashbuckle-Projekt wird nicht mehr aktiv von Community-Eigentümern gewartet, viele Probleme sind noch ungelöst, und eine offizielle Version mit .NET 8 wurde nicht veröffentlicht.
- Wenden wir uns Microsoft.AspNetCore.OpenApi zu: Das ASP.NET Core Team wird die Fähigkeiten von Microsoft.AspNetCore.OpenAPI erweitern, um Swashbuckle zu ersetzen und die Erstellung der OpenAPI-Dokumentation zu ermöglichen.
- Bestehende Alternativen: Neben Swashbuckle unterstützen andere Projekte wie NSwag die Erstellung von OpenAPI-Dokumentationen und die Generierung von Client/Server-Code, sodass Entwickler die passende Lösung basierend auf den Projektbedürfnissen auswählen können.
- Erweiterte integrierte API-Unterstützung: Seit ASP.NET Core 3.1 bietet das Framework Metadaten-Unterstützung wie ApiExplorer. In Kombination mit Visual Studio und Visual Studio Codes integrierter Unterstützung für .http-Dateien ist das API-Test- und Debugging-Erlebnis noch besser.
- OpenAPI als Kernkomponente fördern: ASP.NET Kernteam plant, die OpenAPI-Integration in .NET 9 weiter zu verbessern und es zu einer Kernkomponente zu machen, die sich auf die Erstellung von JSON-formatierten OpenAPI-Dokumentationen konzentriert.
Skalar
Scalar ist ein leistungsstarkes und einfach zu bedienendes API-Client- und Dokumentations-Generierungstool, das sich für API-Projekte jeder Größe eignet und mehrere Programmiersprachen und Plattformen unterstützt.
Open-Source-Adresse:Der Hyperlink-Login ist sichtbar.
ASP.NET Core integriert Skalar
Integrierte Dokumentation:Der Hyperlink-Login ist sichtbar.
Erstellen Sie ein ASP.NET Core 9-Projekt, das wie folgt referenziert ist:
Fügen Sie in Program.cs Dienste und skalare Middleware hinzu, wobei der Code wie folgt lautet:
Bearbeitung WeatherForecastController.cs Controller, Code wie folgt:
Starten Sie das Projekt, öffnen Sie Ihren Browser und besuchen Sie:http://localhost:5088/api-docs, wie in der untenstehenden Abbildung dargestellt:
Sie können wählen, um spezifischen Aufrufcode für HTTP-Bibliotheken in verschiedenen Sprachen zu generieren. Nehmen wir die C# HttpClient-Bibliothek als Beispiel, ist der generierte Code wie folgt:
Es unterstützt auch Online-Interface-Tests. Klicken Sie auf die Schaltfläche Testanfrage, füllen Sie die Beitragsdaten aus und klicken Sie dann auf Senden, um die Anfrage zu senden, wie unten gezeigt:
Passen Sie den Standard-HTTP-Client an. Für C#-Teams möchten wir die API-Dokumentationsoberfläche öffnen, die automatisch den C# HttpClient-Aufrufcode anzeigt. Wenn Sie nicht jedes erste Mal manuell auswählen möchten, konfigurieren Sie wie folgt:
Lösche die Ask AI-Funktion und entferne den Ask AI Agent-Button. Diese Funktion wirkt etwas redundant. Der Code lautet wie folgt:
Wie unten gezeigt:
Nach der Löschung, wie unten gezeigt:
Ebenso deaktivieren Sie die MCP-Funktionalität, Code wie folgt:
Die vollständige Konfiguration ist wie folgt:
Fügen Sie die JWT-Authentifizierung hinzu und tragen Sie den Request-HeaderInhabermarker
Fügen Sie Sicherheitsanforderungen in die gesamte OpenAPI-Dokumentation hinzu und schreiben Sie wie folgt:
Wie unten gezeigt:
OpenID Connect (OIDC):Der Hyperlink-Login ist sichtbar.
Referenz:
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar. |