Формирование swagger спецификации на основании метаданных конфигурации 1С

Формирование swagger спецификации на основании метаданных конфигурации 1С.

Пара ссылок по теме

Wiki

Описание формата

Сайт Swagger

Swagger Editor (быстро проверить свои jsonчики)

Принцип работы библиотеки

На основании выгрузки конфигурации в файлы (в будущем добавлю поддержку edt) производится поиск/парсинг/описание http сервисов и преобразование полученных данных в спецификацию swagger (json на выходе).

Парсинг модуля сервиса предназначен для комментариев вызовов по стандрату ИТС

Пример использования библиотеки

#Использовать swagger

// класс для парсинга метаданных конфигурации
ПарсерМетаданных = Новый ПарсерМетаданных();

Если ПарсерМетаданных.ПодключитьКонфигурацию(ПутьВыгрузкиКонфигурации, "xml") Тогда

    // без параметров читаем все сервисы, возможен отбор по названию через запятую
    ПарсерМетаданных.ВыполнитьПарсингКонфигурации();

    Для Каждого КЗ Из ПарсерМетаданных.ВнутренниеОписанияСервисов Цикл

        // класс генерации спецификации, создаем на результате работы ПарсерМетаданных
        ГенераторСпецификации = Новый ГенераторСпецификации(КЗ.Значение);

        ГенераторСпецификации.ПрочитатьОписаниеСервиса();

        // ПолучитьСпецификацию() - возвращает текст
        // СохранитьСпецификацию(КаталогВыгрузки, "json") - сохраняет в файл
        Сообщить(ГенераторСпецификации.ПолучитьСпецификацию());

    КонецЦикла;

Иначе
    Сообщить("Не удалось подключить конфигурацию!", СтатусСообщения.Внимание);
КонецЕсли;

Пример получения спецификации в скрипте example_specgenerator.os

Simple-UI

Пример реализация быстрого каталогизатора спецификаций внутри компании. Используем готовый swagger-ui, rest сервисы на oscript и IIS.

  1. Создаем виртуальный каталог "onec-swagger-ui", закидываем внутрь dist из репозитария swagger-ui.
  2. Создаем приложение "onec-swagger-admin", внутрь ложим rest-admin.
  3. Заменяем index.html на новый.
  4. В новом index.html указываем в переменной admin_url свой сервер IIS публикаци rest-admin.
  5. Загрузка спецификаций будет происходить скриптом upload.os следующей командой: oscript .\upload.os -name ИмяПроекта -path ПутьКВыгрузкеФайлов -type xml -adminurl http://ВашСервер/onec-swagger-admin/

Доступные версии пакета

0.3.3
Изменен: 21.10.2019 4:03:30
0.2.1
Изменен: 16.10.2019 3:34:22
0.2.0
Изменен: 14.10.2019 3:13:27
В разработке

Репозиторий

https://github.com/oscript-library/swagger

Актуальная версия

swagger-0.3.3