.. _Integration_Common_OpenApiAndSwagger: Поддержка OpenAPI и Swagger ########################### API Продукта поддерживает спецификацию `OpenAPI `_. Для генерации метаданных OpenAPI используется `Swagger `_. Для облегчения разработки, тестирования и внедрения используется `SwaggerUI `_. SwaggerUI ********* Для доступа к странице SwaggerUI в браузере нужно указать URL одного из развернутых HTTP-сервисов Продукта, после чего браузер автоматически будет перенаправлен на страницу SwaggerUI. Эта страница содержит подробное описание всех доступных запросов к API и структур данных. Здесь же можно загрузить JSON-файл с метаданными OpenAPI. .. image:: img/OpenApiAndSwagger-1.png :scale: 43 :align: center :alt: SwaggerUIPage Аутентификация и авторизация в SwaggerUI **************************************** Выполнение запросов в SwaggerUI требует аутентификации и авторизации пользователя. Нужно зайти в раздел ``Авторизация, пользователи и роли``, открыть POST-запрос ``token`` ("Получить токен"), нажать ``Try it out``: .. image:: img/OpenApiAndSwagger-2.png :scale: 41 :align: center :alt: TokenTryItOut Затем в поле ``Request body`` указать логин и пароль пользователя (см. :ref:`Integration_Common_Authentication_DefaultAccounts`) и нажать ``Execute``: .. image:: img/OpenApiAndSwagger-3.png :scale: 41 :align: center :alt: TokenExecute Затем скопировать токен из ответа: .. image:: img/OpenApiAndSwagger-4.png :scale: 41 :align: center :alt: CopyTokenFromReposne Затем наверху страницы нажать ``Authorize``: .. image:: img/OpenApiAndSwagger-5.png :scale: 70 :align: center :alt: AuthorizeButton Затем в открывшейся форме вставить скопированный токен в поле ``Value`` и нажать ``Authorize``, после нажать ``Close``: .. image:: img/OpenApiAndSwagger-6.png :scale: 70 :align: center :alt: AuthorizeForm Выполнение запросов в SwaggerUI ******************************* Для выполнения запросов в SwaggerUI нужно найти требуемый раздел в списке либо с помощью поиска. Затем зайти в раздел, открыть требуемый запрос в разделе, нажать ``Try it out``: .. image:: img/OpenApiAndSwagger-7.png :scale: 41 :align: center :alt: RequestTryItOut Затем задать параметры запроса в списке ``Parameters`` и/или тело запроса в поле ``Request body`` и нажать ``Execute``: .. image:: img/OpenApiAndSwagger-8.png :scale: 41 :align: center :alt: RequestExecute Ответ сервера будет доступен в поле ``Server response``: .. image:: img/OpenApiAndSwagger-9.png :scale: 41 :align: center :alt: ServerResponse