Krav: Scalar er ganske kraftig og kan automatisk generere HTTP-kallkode i forskjellige språk fra API-dokumentasjon, ved å bruke Scalar i stedet for Swagger for å vise API-dokumentasjon.
Etter utgivelsen av .NET 9 ASP.NET kunngjorde det offisielle Core-teamet at Swashbuckle.AspNetCore (et prosjekt som tilbyr Swagger-verktøyet for ASP.NET Core API) ville bli fjernet fra den ASP.NET Core Web API-malen. Dette betyr at i fremtiden, når vi lager Web API-prosjekter, vil ikke Swagger API-dokumentasjon lenger bli generert automatisk. Så i dag, la oss prøve å bruke Scalar for interaktiv API-dokumentasjon i vårt EasySQLite .NET 9-prosjekt.
Lenke:Innloggingen med hyperkoblingen er synlig.
Årsakene til at Swagger ble fjernet kan oppsummeres som følger:
- Dårlig vedlikehold av Swashbuckle: Swashbuckle-prosjektet vedlikeholdes ikke lenger aktivt av fellesskapseiere, mange problemer er fortsatt uløste, og en offisiell versjon kompatibel med .NET 8 er ikke utgitt.
- Når vi vender oss mot Microsoft.AspNetCore.OpenApi: ASP.NET Core-teamet vil forbedre Microsoft.AspNetCore.OpenApis kapasiteter for å erstatte Swashbuckle og muliggjøre generering av OpenAPI-dokumentasjon.
- Eksisterende alternativer: I tillegg til Swashbuckle støtter andre prosjekter som NSwag OpenAPI-dokumentasjonsgenerering og klient/server-kodegenerering, slik at utviklere kan velge passende løsning basert på prosjektets behov.
- Forbedret innebygd API-støtte: Fra ASP.NET Core 3.1 har rammeverket levert metadatastøtte som ApiExplorer. Kombinert med Visual Studio og Visual Studio Codes innebygde støtte for .http-filer, er API-testingen og feilsøkingsopplevelsen enda bedre.
- Promotering av OpenAPI som kjernekomponent: ASP.NET Core-teamet planlegger å ytterligere forbedre OpenAPI-integrasjonen i .NET 9, og gjøre det til en kjernekomponent med fokus på å generere JSON-formatert OpenAPI-dokumentasjon.
Skalar
Scalar er et kraftig og brukervennlig API-klient- og dokumentasjonsgenereringsverktøy som passer for API-prosjekter i alle størrelser, og støtter flere programmeringsspråk og plattformer.
Åpen kildekode-adresse:Innloggingen med hyperkoblingen er synlig.
ASP.NET Core integrerer Scalar
Integrert dokumentasjon:Innloggingen med hyperkoblingen er synlig.
Lag et ASP.NET Core 9-prosjekt, referert som følger:
Legg til tjenester og skalar-mellomvare i Program.cs, med koden som følger:
Rediger WeatherForecastController.cs kontroller, kode som følger:
Start prosjektet, åpne nettleseren din, og besøk:http://localhost:5088/api-docs, som vist i figuren nedenfor:
Du kan velge å generere spesifikk kallkode for HTTP-biblioteker i forskjellige språk. Tar vi C# HttpClient-biblioteket som eksempel, er den genererte koden som følger:
Den støtter også testing av nettbasert grensesnitt. Klikk på knappen Testforespørsel, fyll inn innleggsdataene, og klikk deretter send for å sende forespørselen, som vist nedenfor:
Tilpass standard HTTP-klient. For C#-team ønsker vi å åpne API-dokumentasjonsgrensesnittet, som automatisk viser C# HttpClient-kallkoden. Hvis du ikke vil velge manuelt hver første gang, konfigurere som følger:
Slett Ask AI-funksjonen og fjern knappen Ask AI Agent. Denne funksjonen føles litt overflødig. Koden er som følger:
Som vist nedenfor:
Etter sletting, som vist nedenfor:
På samme måte, deaktiver MCP-funksjonalitet, kode som følger:
Den komplette konfigurasjonen er som følger:
Legg til JWT-autentisering og bær forespørselsheaderenBærerbrikket
Legg til sikkerhetskrav i hele OpenAPI-dokumentasjonen, kod som følger:
Som vist nedenfor:
OpenID Connect (OIDC):Innloggingen med hyperkoblingen er synlig.
Referanse:
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig. |