Zahteve: Scalar je precej zmogljiv in lahko samodejno generira HTTP klicno kodo v različnih jezikih iz API dokumentacije, pri čemer uporablja Scalar namesto Swaggerja za prikaz API dokumentacije.
Po izdaji .NET 9 ASP.NET uradna ekipa Core napovedala, da bo Swashbuckle.AspNetCore (projekt, ki zagotavlja orodje Swagger za ASP.NET Core API) odstranjen iz predloge ASP.NET Core Web API. To pomeni, da v prihodnosti, ko bomo ustvarjali projekte Web API, dokumentacija Swagger API-ja ne bo več samodejno generirana. Zato danes poskusimo uporabiti Scalar za interaktivno API dokumentacijo v našem projektu EasySQLite .NET 9.
Povezava:Prijava do hiperpovezave je vidna.
Razloge za odstranitev Swaggerja lahko povzamemo takole:
- Swashbuckle slabo vzdrževanje: Projekt Swashbuckle ni več aktivno vzdrževan s strani lastnikov skupnosti, številne težave ostajajo nerešenih, uradna različica, združljiva z .NET 8, pa še ni bila izdana.
- Obrnimo se na Microsoft.AspNetCore.OpenApi: Ekipa ASP.NET Core bo izboljšala zmogljivosti Microsoft.AspNetCore.OpenApi, da nadomesti Swashbuckle in omogoči generiranje dokumentacije OpenAPI.
- Obstoječe alternative: Poleg Swashbuckle drugi projekti, kot je NSwag, podpirajo generiranje OpenAPI dokumentacije in generiranje kode odjemalca/strežnika, kar razvijalcem omogoča izbiro ustrezne rešitve glede na potrebe projekta.
- Izboljšana podpora za vgrajene API-je: Od ASP.NET Core 3.1 ogrodje ponuja podporo za metapodatke, kot je ApiExplorer. V kombinaciji z vgrajeno podporo za .http datoteke v Visual Studiu in Visual Studio Code je izkušnja testiranja in odpravljanja napak še boljša.
- Promocija OpenAPI kot ključne komponente: ASP.NET ekipa Core načrtuje nadaljnje izboljšave integracije OpenAPI v .NET 9 in ga narediti za osrednjo komponento, osredotočeno na generiranje OpenAPI dokumentacije v formatu JSON.
Skalar
Scalar je zmogljivo in enostavno za uporabo orodje za generiranje API odjemalcev in dokumentacije, primerno za API projekte vseh velikosti, ki podpira več programskih jezikov in platform.
Odprtokodni naslov:Prijava do hiperpovezave je vidna.
ASP.NET Core integrira skalar
Integrirana dokumentacija:Prijava do hiperpovezave je vidna.
Ustvarite projekt ASP.NET Core 9, naveden na naslednji način:
Dodajte storitve in skalarno vmesno programsko opremo v Program.cs, s kodo tako:
Uredi WeatherForecastController.cs krmilnik, koda je naslednja:
Zaženi projekt, odpri brskalnik in obišči:http://localhost:5088/api-docs, kot je prikazano na spodnji sliki:
Lahko se odločite za generiranje specifične klicne kode za HTTP knjižnice v različnih jezikih. Če vzamemo kot primer knjižnico C# HttpClient, je generirana koda naslednja:
Podpira tudi testiranje spletnega vmesnika. Kliknite gumb Test Request, vnesite podatke o objavi, nato kliknite pošlji, da pošljete zahtevo, kot je prikazano spodaj:
Prilagodite privzeti HTTP odjemalec. Za C# ekipe želimo odpreti API dokumentacijski vmesnik, ki samodejno prikazuje C# HttpClient klicno kodo. Če ne želite ročno izbirati vsak prvič, nastavite takole:
Izbriši funkcijo Vprašaj AI in odstrani gumb Vprašaj AI agenta. Ta funkcija se zdi nekoliko odvečna. Koda je naslednja:
Kot je prikazano spodaj:
Po izbrisu, kot je prikazano spodaj:
Podobno onemogočite funkcionalnost MCP in kodirajte takole:
Celotna konfiguracija je naslednja:
Dodajte JWT avtentikacijo in prenesite glavo zahteveNosilni žeton
Dodajte varnostne zahteve v celotno dokumentacijo OpenAPI, kodo na naslednji način:
Kot je prikazano spodaj:
OpenID Connect (OIDC):Prijava do hiperpovezave je vidna.
Referenčni:
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna. |