Требования: Scalar довольно мощен и может автоматически генерировать код HTTP-вызовов на разных языках, отличных от документации API, используя Scalar вместо Swagger для отображения документации API.
После выхода .NET 9 ASP.NET официальная команда Core объявила, что Swashbuckle.AspNetCore (проект, предоставляющий инструмент Swagger для API ASP.NET Core) будет удален из шаблона 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, сделав его ключевым компонентом, ориентированным на создание документации OpenAPI в формате JSON.
Скалярные
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, который автоматически отображает код вызова HttpClient на C#. Если вы не хотите выбирать вручную каждый первый раз, настройте следующее:
Удалите функцию Ask AI и уберите кнопку Ask AI Agent. Эта функция кажется немного избыточной. Код такой:
Как показано ниже:
После удаления, как показано ниже:
Аналогично, отключите функционал MCP, кодите следующим образом:
Полная конфигурация выглядит следующим образом:
Добавьте аутентификацию JWT и переносите заголовок запросаЖетон предъявителя
Добавьте требования безопасности во всю документацию OpenAPI, код следующее:
Как показано ниже:
OpenID Connect (OIDC):Вход по гиперссылке виден.
Ссылка:
Вход по гиперссылке виден.
Вход по гиперссылке виден. |