Существует множество веб-API, которые доступны в реальном мире, некоторые из них открыты для использования некоторым требуется лицензия. Все веб-API имеют разные спецификации для реализации на стороне клиента. Часть реализации на стороне клиента достаточно сложны и требуют сложной реализации. Чтобы ускорить задачу разработки использования веб-API в клиентском приложении, у нас есть интересный инструмент для генерации клиентского кода с помощью NSwagStudio или Open API — Swagger.
Если вы новичок в интеграции Swagger с ASP.NET Core, я бы посоветовал вам прочитать статью — Интеграция Swagger с веб-API .Net Core с использованием Entity Framework, там я продемонстрировал интеграцию библиотеки Swagger в ASP.NET. Веб-API с использованием Entity Framework (размещу чуть позднее).
Необходимые инструменты:
- NSwagStudio
Unchase OpenAPI — Swagger: установка с помощью Visual Studio «Управление расширением»
Оба инструмента имеют схожие функции, однако «OpenAPI — Swagger» можно интегрировать с Visual Studio и мгновенно использовать в новом проекте для создания клиентского кода.
Подход 1
После того, как NSwagStudio будет установлен и начальный экран будет выглядеть, как показано ниже,
Выберите среду выполнения приложения, файл или URL-адрес спецификации веб-API, тип кода клиента, настройку кода клиента.
Подход 2
Unchase OpenAPI — Swagger установите это расширение и перезапустите Visual Studio.
В этой статье я собираюсь продемонстрировать подход 2 — расширение «Unchase OpenAPI — Swagger» и мгновенную генерацию клиентского кода. Это расширение представляет собой подключенную службу, и Visual Studio становится все проще подключить ваше приложение к службам Azure через Visual Studio Connected Services.
Генерация клиентского кода с помощью Unchase OpenAPI — Swagger
Шаг 1
Создайте новое консольное приложение для проекта .Net Core и дайте название проекту. Например, название проекта — «CompanyWebApiClient».
Шаг 2
Чтобы получить доступ к подключаемым службам Visual Studio, перейдите к своим проектам, «Обзор», к которому можно получить доступ, щелкнув проект правой кнопкой мыши и выбрав «Обзор» ИЛИ щелкнув правой кнопкой мыши проект «Добавить» подключенные службы.
Шаг 3
Затем выберите вкладку «Подключенные службы» слева, чтобы отобразить список подключенных служб, доступных в вашем экземпляре Visual Studio.
Шаг 4
После успешной установки расширения OpenAPI swagger вы должны увидеть службу OpenAPI в разделе «Подключенные службы».
Шаг 5
Нажмите «Unchase OpenAPI (swagger) Connect Service» и появится диалоговое окно, как показано ниже,
Шаг 6
Задайте следующий параметр с именем службы, документом спецификации веб-API и типом генерации клиентского кода, как показано ниже.
Шаг 7
Здесь мы находим три типа генерации клиентского кода.
7а. Создать клиент CSharp — создает фактический класс CSharp, который имеет реализацию HttpClient для вызова всех веб-API.
7б. Generate TypeScript Client — генерирует фактический TypeScript, который имеет реализацию HttpClient для вызова всех веб-API.
7в. Generate CSharp Controller — генерирует контроллер веб-API.
Шаг 8
В настройках клиента CSharp отметьте следующие разделы, как показано ниже, для настройки кода клиента.
Шаг 9
В разделе «Клиент» выполните следующие настройки.
Шаг 10
Выполните следующие настройки в разделе «Data Transfer Object — DTO Classes». Для первой попытки оставьте все настройки по умолчанию. Позже вы можете настроить несколько параметров и наблюдать за изменениями в генерации клиентского кода.
Шаг 11
Теперь давайте нажмем кнопку «Готово», чтобы сгенерировать клиентский код. Это займет несколько секунд на основе спецификации веб-API.
Шаг 12
После того, как процесс генерации будет завершен, вы сможете увидеть подключенные сервисы в проекте. Здесь «CompanyClientService.cs» имеет реализацию клиентского кода для использования веб-API.
Шаг 13
Теперь мы будем использовать сгенерированный клиентский код для вызова веб-API в «Program.cs».
Шаг 14
Давайте получим все данные о сотрудниках с помощью client.ApiEmployeeGetAsync ();
Шаг 15
Результат вышеуказанного вызова веб-API.
Шаг 16
Обновить клиентский код после обновления спецификации веб-API очень просто. Просто выполните простой шаг, как показано ниже, и ваш клиентский код будет актуальным.
Очень весело выполнять вызовы веб-API, не написав ни единой строчки кода HttpClient, и не нужно беспокоиться об обновлениях спецификаций веб-API.
Резюме
Мы исследовали создание клиентского кода веб-API с расширением Unchase OpenAPI с использованием документа спецификации Swagger API. Мы заметили, что на стороне клиента не было реализовано ни одной строчки кода для использования веб-API. Это сократило усилия разработчика и повысило продуктивность разработчика, что делает разработчика умнее в организации.
Надеюсь, эта статья поможет вам понять простой подход. Спасибо, что прочитали статью.