Vereisten: Scalar is behoorlijk krachtig en kan automatisch HTTP-aanroepcode genereren in verschillende talen uit API-documentatie, waarbij Scalar in plaats van Swagger wordt gebruikt om API-documentatie weer te geven.
Na de release van .NET 9 ASP.NET kondigde het officiële Core-team aan dat Swashbuckle.AspNetCore (een project dat de Swagger-tool voor de ASP.NET Core API levert) uit het ASP.NET Core Web API-sjabloon zou worden verwijderd. Dit betekent dat in de toekomst, wanneer we Web API-projecten maken, Swagger API-documentatie niet langer automatisch zal worden gegenereerd. Laten we vandaag proberen Scalar te gebruiken voor interactieve API-documentatie in ons EasySQLite .NET 9-project.
Verbinden:De hyperlink-login is zichtbaar.
De redenen voor het verwijderen van Swagger kunnen als volgt worden samengevat:
- Slecht onderhoud van Swashbuckle: Het Swashbuckle-project wordt niet langer actief onderhouden door de eigenaren van de gemeenschap, veel problemen zijn nog niet opgelost en er is geen officiële versie die compatibel is met .NET 8 uitgebracht.
- Met het oog op Microsoft.AspNetCore.OpenApi: Het ASP.NET Core-team zal de mogelijkheden van Microsoft.AspNetCore.OpenAPI verbeteren om Swashbuckle te vervangen en OpenAPI-documentatie te genereren.
- Bestaande alternatieven: Naast Swashbuckle ondersteunen andere projecten zoals NSwag OpenAPI-documentatiegeneratie en client/servercodegeneratie, waardoor ontwikkelaars de juiste oplossing kunnen kiezen op basis van projectbehoeften.
- Verbeterde ingebouwde API-ondersteuning: Vanaf ASP.NET Core 3.1 biedt het framework metadata-ondersteuning zoals ApiExplorer. In combinatie met de ingebouwde ondersteuning van Visual Studio en Visual Studio Code voor .http-bestanden is de ervaring met testen en debuggen van de API nog beter.
- OpenAPI promoten als kerncomponent: ASP.NET kernteam is van plan de integratie van OpenAPI in .NET 9 verder te verbeteren, waardoor het een kerncomponent wordt die zich richt op het genereren van JSON-geformatteerde OpenAPI-documentatie.
Scalair
Scalar is een krachtig en gebruiksvriendelijk hulpmiddel voor API-client en documentatiegeneratie, geschikt voor API-projecten van alle groottes, met ondersteuning voor meerdere programmeertalen en platforms.
Open source adres:De hyperlink-login is zichtbaar.
ASP.NET Core integreert scalair
Geïntegreerde documentatie:De hyperlink-login is zichtbaar.
Maak een ASP.NET Core 9-project, met als volgt verwezen:
Voeg services en scalar middleware toe in Program.cs, met de code als volgt:
Bewerking WeatherForecastController.cs controller, code als volgt:
Start het project, open je browser en bezoek:http://localhost:5088/api-docs, zoals getoond in de onderstaande figuur:
Je kunt ervoor kiezen om specifieke aanroepcode te genereren voor HTTP-bibliotheken in verschillende talen. Neem de C# HttpClient-bibliotheek als voorbeeld, de gegenereerde code is als volgt:
Het ondersteunt ook online interfacetesten. Klik op de knop Testverzoek, vul de berichtgegevens in en klik vervolgens op verzenden om het verzoek te versturen, zoals hieronder weergegeven:
Pas de standaard HTTP-client aan. Voor C#-teams willen we de API-documentatie-interface openen, die automatisch de C# HttpClient-aanroepcode toont. Als je niet elke eerste keer handmatig wilt selecteren, configureer dan als volgt:
Verwijder de Ask AI-functie en verwijder de Ask AI Agent-knop. Deze functie voelt wat overbodig aan. De code is als volgt:
Zoals hieronder getoond:
Na verwijdering, zoals hieronder getoond:
Schakel op dezelfde manier de functionaliteit van MCP uit, code als volgt:
De volledige configuratie is als volgt:
Voeg JWT-authenticatie toe en draag de requestheaderToonbankteken
Voeg beveiligingsvereisten toe aan de volledige OpenAPI-documentatie, code als volgt:
Zoals hieronder getoond:
OpenID Connect (OIDC):De hyperlink-login is zichtbaar.
Referentie:
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar. |