Вимоги: Scalar досить потужний і може автоматично генерувати код HTTP-викликів різними мовами, порівняно з API-документацією, використовуючи Scalar замість Swagger для відображення API-документації.
Після виходу .NET 9 ASP.NET офіційна команда Core оголосила, що Swashbuckle.AspNetCore (проєкт, що надає інструмент Swagger для ASP.NET Core API) буде вилучено з шаблону ASP.NET Core Web API. Це означає, що в майбутньому, коли ми створюватимемо проекти Web API, документація Swagger API більше не буде автоматично генеруватися. Тож сьогодні спробуємо використовувати Scalar для інтерактивної документації API у нашому проєкті EasySQLite .NET 9.
Посилання:Вхід за гіперпосиланням видно.
Причини усунення Свеггера можна підсумувати так:
- Погане обслуговування Swashbuckle: Проєкт Swashbuckle більше не підтримується власниками спільноти, багато проблем залишаються невирішеними, а офіційна версія, сумісна з .NET 8, не була випущена.
- Звернення до Microsoft.AspNetCore.OpenApi: Команда ASP.NET Core покращить можливості Microsoft.AspNetCore.OpenApi, замінивши Swashbuckle та забезпечивши створення документації OpenAPI.
- Існуючі альтернативи: Окрім Swashbuckle, інші проєкти, такі як NSwag, підтримують генерацію документації OpenAPI та генерацію клієнтського/серверного коду, що дозволяє розробникам обирати відповідне рішення відповідно до потреб проєкту.
- Покращена підтримка вбудованого API: починаючи з ASP.NET Core 3.1, фреймворк надає підтримку метаданих, таких як ApiExplorer. У поєднанні з вбудованою підтримкою .http файлів у Visual Studio та Visual Studio Code, досвід тестування та налагодження API став ще кращим.
- Просування OpenAPI як основного компонента: команда ASP.NET Core планує ще більше покращити інтеграцію OpenAPI в .NET 9, зробивши її основним компонентом, орієнтованим на створення JSON-документації OpenAPI.
Скалярні
Scalar — це потужний і простий у використанні інструмент генерації клієнтів API та документації, який підходить для API-проєктів будь-якого розміру, підтримуючи кілька мов програмування та платформ.
Відкрита адреса:Вхід за гіперпосиланням видно.
ASP.NET Core інтегрує Scalar
Інтегрована документація:Вхід за гіперпосиланням видно.
Створіть проєкт ASP.NET Core 9, посилатися наступним чином:
Додайте сервіси та скалярне проміжне програмне забезпечення в Program.cs, з кодом наступного вигляду:
Редагування WeatherForecastController.cs контролер, код так:
Запустіть проєкт, відкрийте браузер і відвідайте:http://localhost:5088/api-docs, як показано на рисунку нижче:
Ви можете обрати генерацію конкретного коду виклику для HTTP-бібліотек різними мовами. Наприклад, бібліотеку C# HttpClient, згенерований код виглядає так:
Також підтримується онлайн-тестування інтерфейсу. Натисніть кнопку «Запит на тест», заповніть дані посту, потім натисніть «Відправити», щоб надіслати запит, як показано нижче:
Налаштуйте стандартний HTTP-клієнт. Для команд C# ми хочемо відкрити інтерфейс API-документації, який автоматично відображає код виклику C# HttpClient. Якщо ви не хочете вибирати вручну кожного першого разу, налаштуйте так:
Видаліть функцію Ask AI і видаліть кнопку Ask AI Agent. Ця функція здається трохи зайвою. Код виглядає так:
Як показано нижче:
Після видалення, як показано нижче:
Аналогічно, вимкніть функціональність MCP, кодуйте наступним чином:
Повна конфігурація виглядає так:
Додайте автентифікацію JWT і перенесіть заголовок запитуЖетон пред'явника
Додайте вимоги безпеки до всієї документації OpenAPI, код наступного вигляду:
Як показано нижче:
OpenID Connect (OIDC):Вхід за гіперпосиланням видно.
Посилання:
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно. |