Krav: Scalar är ganska kraftfullt och kan automatiskt generera HTTP-anropskod i olika språk från API-dokumentation, med Scalar istället för Swagger för att visa API-dokumentation.
Efter lanseringen av .NET 9 ASP.NET meddelade det officiella Core-teamet att Swashbuckle.AspNetCore (ett projekt som tillhandahåller Swagger-verktyget för ASP.NET Core API) skulle tas bort från ASP.NET Core Web API-mallen. Detta innebär att i framtiden, när vi skapar Web API-projekt, kommer Swagger API-dokumentation inte längre att genereras automatiskt. Så idag ska vi prova att använda Scalar för interaktiv API-dokumentation i vårt EasySQLite .NET 9-projekt.
Länk:Inloggningen med hyperlänken är synlig.
Anledningarna till att Swagger togs bort kan sammanfattas så här:
- Swashbuckles dåliga underhåll: Swashbuckle-projektet underhålls inte längre aktivt av communityägare, många problem är olösta och en officiell version kompatibel med .NET 8 har inte släppts.
- Med fokus på Microsoft.AspNetCore.OpenApi: ASP.NET Core-teamet kommer att förbättra Microsoft.AspNetCore.OpenApis kapacitet för att ersätta Swashbuckle och möjliggöra generering av OpenAPI-dokumentation.
- Befintliga alternativ: Förutom Swashbuckle stöder andra projekt som NSwag OpenAPI-dokumentationsgenerering och klient/server-kodgenerering, vilket gör det möjligt för utvecklare att välja lämplig lösning baserat på projektets behov.
- Förbättrat inbyggt API-stöd: Från och med ASP.NET Core 3.1 har ramverket tillhandahållit metadatastöd såsom ApiExplorer. I kombination med Visual Studio och Visual Studio Codes inbyggda stöd för .http-filer är API-testnings- och felsökningsupplevelsen ännu bättre.
- Främjande av OpenAPI som kärnkomponent: ASP.NET Core-teamet planerar att ytterligare förbättra OpenAPI-integrationen i .NET 9 och göra det till en kärnkomponent med fokus på att generera JSON-formaterad OpenAPI-dokumentation.
Skalär
Scalar är ett kraftfullt och lättanvänt API-klient- och dokumentationsgenereringsverktyg som passar API-projekt av alla storlekar och stöder flera programmeringsspråk och plattformar.
Öppen källkodsadress:Inloggningen med hyperlänken är synlig.
ASP.NET Core integrerar Scalar
Integrerad dokumentation:Inloggningen med hyperlänken är synlig.
Skapa ett ASP.NET Core 9-projekt, refererat enligt följande:
Lägg till tjänster och skalär middleware i Program.cs, med koden enligt följande:
Redigera WeatherForecastController.cs kontroller, kod enligt följande:
Starta projektet, öppna din webbläsare och besök:http://localhost:5088/api-docs, som visas i figuren nedan:
Du kan välja att generera specifik anropskod för HTTP-bibliotek i olika språk. Tar vi C# HttpClient-biblioteket som exempel, är den genererade koden följande:
Den stöder också online-testning av gränssnitt. Klicka på knappen Testförfrågan, fyll i inläggsdata och klicka sedan på skicka för att skicka förfrågan, som visas nedan:
Anpassa standard-HTTP-klienten. För C#-team vill vi öppna API-dokumentationsgränssnittet, som automatiskt visar C# HttpClient-anropskoden. Om du inte vill välja manuellt varje första gång, konfigurera enligt följande:
Ta bort funktionen Fråga AI och ta bort knappen Fråga AI Agent. Denna funktion känns lite överflödig. Koden är som följer:
Som visas nedan:
Efter raderingen, som visas nedan:
På samma sätt, inaktivera MCP-funktionaliteten, kod enligt följande:
Den fullständiga konfigurationen är följande:
Lägg till JWT-autentisering och bär begäransökandets headerInnehavartoken
Lägg till säkerhetskrav i hela OpenAPI-dokumentationen, koda enligt följande:
Som visas nedan:
OpenID Connect (OIDC):Inloggningen med hyperlänken är synlig.
Hänvisning:
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig. |