Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 18168|Ответ: 0

[.NET Core] ASP.NET Core WebAPI использует Swagger для генерации документации API

[Скопировать ссылку]
Опубликовано 12.04.2019 14:14:46 | | | |
Этот пост был последний раз отредактирован QWERTYU 12.04.2019 14:24

Знакомство
После использования asp.net Core для разработки API написание документации по API должно быть сложной задачей для программистов, но документация должна быть написана, и если нет конкретных требований к формату документации, итоговая документация полностью зависит от настроения разработчика. Или быть более подробным или проще. Так есть ли быстрый и эффективный способ создать документацию по API? Ответ — да, Swagger — один из самых популярных инструментов для генерации документации REST API!
Зачем использовать Swagger как инструмент генерации документации REST API
  • Swagger может генерировать интерактивную API-консоль, которую разработчики могут использовать для быстрого изучения и экспериментов с API.
  • Swagger может генерировать клиентский SDK-код для реализаций на различных платформах.
  • Файлы Swagger можно автоматически генерировать из комментариев кода на различных платформах.
  • У Swagger сильное сообщество с множеством активных участников.
Как использовать Swagger для генерации документации API в asp.net ядре?
  • Swashbuckle.AspNetCore — это проект с открытым исходным кодом, который генерирует документацию Swagger для ASP.NET Core Web API.
  • NSwag — ещё один проект с открытым исходным кодом, направленный на интеграцию интерфейса Swagger или ReDoc в ASP.NET API Core Web. Он предоставляет способ генерации клиентского кода на C# и TypeScript для API.
Ниже приведён пример Swashbuckle.AspNetCoreКакие компоненты состоит в Swashbuckle?
  • Swashbuckle.AspNetCore.Swagger: Открывает объект SwaggerDocument как модель объекта Swagger и промежуточное ПО для JSON-конечных точек.
  • Swashbuckle.AspNetCore.SwaggerGen: генератор Swagger, который генерирует объекты SwaggerDocument напрямую из маршрутов, контроллеров и моделей. Часто его комбинируют с промежуточным программным обеспечением Swagger endpoint для автоматического раскрытия Swagger JSON.
  • Swashbuckle.AspNetCore.SwaggerUI: встроенная версия инструмента Swagger UI. Он интерпретирует Swagger JSON для создания настраиваемого, насыщенного опыта, описывающего функциональность веб-API. Он включает встроенные инструменты тестирования для распространённых методов.
Как установить Swashbuckle с помощью vs2017?

Первый способ: установка через окно консоли Package Manager



    • Перейдите в раздел Views > Other Windows > Package Manager Console
    • Перейдите к каталогу, содержащему файл TodoApi.csproj
    • Пожалуйста, выполните следующую команду · Install-Package Swashbuckle.AspNetCore





Второй способ: из диалога Manage NuGet Packages:
  • Кликните правой кнопкой мыши по проекту в Solution Explorer > Управление пакетами NuGet
  • Установите исходный код пакета на nuget.org
  • Введите в поисковую строку «Swashbuckle.AspNetCore»
  • Выберите пакет Swashbuckle.AspNetCore на вкладке Browse и нажмите Install

Добавить и настроить промежуточное программное обеспечение Swagger
Сначала представьте пространство имён:
Добавьте генератор Swagger в коллекцию сервисов в методе Startup.ConfigureServices:
уStartup.Configureметод, позволяет промежуточному ПО обслуживать сгенерированный JSON-документ и интерфейс Swagger:

Запустите приложение и переходите к немуhttps://localhost:<port>/swagger/v1/swagger.json。 Полученная документация, описывающая конечную точку, отображается в формате JSON следующим образом.

Доступноhttps://localhost:<port>/swaggerНайдите интерфейс Swagger. Просмотрите документацию API через интерфейс Swagger, как показано ниже.

Для нанесения корня (http://localhost:<port>/) чтобы предоставить интерфейс Swagger, пожалуйста, введитеПрефикс маршрутаСвойство задаётся на пустую строку:
Расширенное использование Swagger (кастомизация и расширения)Используйте Swagger для добавления объяснительной информации в документацию API
Следующие операции конфигурации выполняются в методе AddSwaggerGen, который добавляет информацию, такую как автор, лицензия и описание:
Информация о версии с интерфейсом wagger отображается на следующем рисунке:
Добавляйте комментарии к методам интерфейса
Давайте сначала кликнем на API, расширим, как показано на рисунке ниже, не может ли быть комментариев, как добавить комментарии?
Добавьте комментарии к документу с тремя/как показано на изображении ниже, как показано ниже
Затем запустите проект и вернитесь в swaggerUI, чтобы посмотреть, появится ли комментарий
Всё ещё не появилось, не волнуйся, посмотри вниз!
Включить XML-аннотации
Вы можете включить XML-аннотации с помощью следующих методов:
  • Кликните правой кнопкой мыши по проекту в Solution Explorer и выберите Свойства
  • Посмотрите поле XML Document File в разделе Output на вкладке Build




Включение XML-аннотаций предоставляет отладочную информацию для недокументированных общих типов и членов. Если, например, появляется много предупреждающих сообщений, следующее сообщение указывает на нарушение кода предупреждения 1591:
Что если у вас ОКР, и вы хотите отменить предупреждение? Вы можете отменить, как показано на изображении ниже

Обратите внимание на путь xml-файла, сгенерированного выше,
Заметка:
1. Для Linux или не-Windows имена файлов и пути зависят от регистра. Например, файл «SwaggerDemo.xml» работает в Windows, но не на CentOS.
2. Для получения пути приложения рекомендуется использовать AppContext.BaseDirectory
Перестройка и запуск проекта, чтобы посмотреть, появятся ли комментарии
Из приведённой выше операции можно резюмировать, что интерфейс Swagger отображает <summary> внутренний текст элементов вышеуказанного кода комментариев в виде больших комментариев в API!
Конечно, вы также можете добавить элемент замечаний в документацию Get How-to. Он может дополнить <summary> информацию, указанную в элементе, и обеспечить более надёжный интерфейс Swagger. <remarks> Содержимое элементов может содержать текст, JSON или XML. Код таков:
Тестируйте интерфейс API с помощью SwaggerUI
Давайте отладим интерфейс через SwaggerUI на небольшом примере
  • Кликните на интерфейс API, который нужно протестировать, а затем нажмите кнопку «Попробовать» слева и справа от раздела Параметры
  • Введите параметр в текстовое поле параметра, который отображается, как показано на следующем изображении, введите параметр 2
  • Нажмите кнопку «Выполнить», и появится отформатированный ответ, показанный ниже, как показано на рисунке ниже


Ну вот, на сегодняшнем уроке по использованию Swagger для генерации документации API в ASP.NET Core WebApi. Надеюсь, вам будет полезно научиться использовать Swagger для генерации документации API в ASP.NET Core!
сводка
Эта статья начинается с проблемы написания документации API вручную, а затем переходит к Swagger — инструменту, который автоматически генерирует документацию API! Затем, с помощью понятного текста и картинок, мы продемонстрируем, как использовать SwaggerUI для генерации документации API в ASP.NET Core WebApi. Наконец, я представлю некоторые продвинутые способы использования Swagger в ASP.NET Core! Надеюсь, это поможет вам использовать Swagger в ASP.NET Core!







Предыдущий:asp.net GridView динамически генерирует столбцы
Следующий:Настройка метода ModelBinder для совместимых строк формы
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com