Wymagania: Scalar jest bardzo wydajny i potrafi automatycznie generować kod wywołań HTTP w różnych językach z dokumentacji API, używając Scalara zamiast Swaggera do wyświetlania dokumentacji API.
Po wydaniu .NET 9 ASP.NET oficjalny zespół Core ogłosił, że Swashbuckle.AspNetCore (projekt dostarczający narzędzie Swagger dla ASP.NET Core API) zostanie usunięty z szablonu ASP.NET Core Web API. Oznacza to, że w przyszłości, gdy będziemy tworzyć projekty Web API, dokumentacja API Swagger nie będzie już automatycznie generowana. Dziś spróbujmy więc użyć Scalar do dokumentacji interaktywnych API w naszym projekcie EasySQLite .NET 9.
Łącze:Logowanie do linku jest widoczne.
Powody usunięcia Swaggera można podsumować następująco:
- Szermierze – zła konserwacja: Projekt Szermierz nie jest już aktywnie utrzymywany przez właścicieli społeczności, wiele problemów pozostaje nierozwiązanych, a oficjalna wersja kompatybilna z .NET 8 nie została wydana.
- Przechodząc do Microsoft.AspNetCore.OpenApi: Zespół ASP.NET Core rozwinie możliwości Microsoft.AspNetCore.OpenApi, aby zastąpić Swashbuckle i umożliwić generowanie dokumentacji OpenAPI.
- Istniejące alternatywy: Poza Swashbuckle, inne projekty, takie jak NSwag, wspierają generowanie dokumentacji OpenAPI oraz generowanie kodu klient/serwer, pozwalając deweloperom wybrać odpowiednie rozwiązanie w oparciu o potrzeby projektu.
- Ulepszone wsparcie wbudowanego API: Począwszy od ASP.NET Core 3.1, framework oferuje wsparcie dla metadanych, takie jak ApiExplorer. W połączeniu z wbudowanym wsparciem plików .http w Visual Studio i Visual Studio Code, testowanie i debugowanie API jest jeszcze lepsze.
- Promowanie OpenAPI jako kluczowego komponentu: ASP.NET Core Team planuje dalej usprawnić integrację OpenAPI w .NET 9, czyniąc go kluczowym komponentem skupiającym się na generowaniu dokumentacji OpenAPI w formacie JSON.
Skalar
Scalar to potężne i łatwe w obsłudze narzędzie do generowania klienta API i dokumentacji, odpowiednie dla projektów API o każdej wielkości, obsługujące wiele języków programowania i platform.
Adres open source:Logowanie do linku jest widoczne.
ASP.NET Core integruje skalarny system
Zintegrowana dokumentacja:Logowanie do linku jest widoczne.
Stwórz projekt ASP.NET Core 9, opisany następująco:
Dodaj usługi i skalarne middleware w Program.cs, a kod jest następujący:
Edycja WeatherForecastController.cs kontrolerze, zakoduj następująco:
Uruchom projekt, otwórz przeglądarkę i odwiedź:http://localhost:5088/api-docs, jak pokazano na poniższym rysunku:
Możesz wybrać generowanie konkretnego kodu wywołań dla bibliotek HTTP w różnych językach. Na przykładzie biblioteki C# HttpClient generowany kod wygląda następująco:
Obsługuje także testowanie interfejsu online. Kliknij przycisk Test Request, wpisz dane posta, a następnie wyślij, aby wysłać żądanie, jak pokazano poniżej:
Dostosuj domyślnego klienta HTTP. Dla zespołów C# chcemy otworzyć interfejs dokumentacji API, który automatycznie wyświetla kod wywołania C# HttpClient. Jeśli nie chcesz wybierać ręcznie za każdym pierwszym razem, skonfiguruj w następujący sposób:
Usuń funkcję Ask AI i usuń przycisk Ask AI Agent. Ta funkcja wydaje się trochę zbędna. Kod jest następujący:
Jak pokazano poniżej:
Po usunięciu produktu, jak pokazano poniżej:
Podobnie, wyłącz funkcjonalność MCP, koduj następująco:
Pełna konfiguracja wygląda następująco:
Dodaj uwierzytelnianie JWT i przenieś nagłówek żądaniaToken Okaziciela
Dodaj wymagania bezpieczeństwa do całej dokumentacji OpenAPI, kodując w następujący sposób:
Jak pokazano poniżej:
OpenID Connect (OIDC):Logowanie do linku jest widoczne.
Odniesienie:
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne. |