Skip to content
Формирование swagger спецификации на основании метаданных конфигурации 1С
1C Enterprise HTML
Branch: master
Clone or download
Pull request Compare This branch is even with botokash:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
simple-ui
src/Классы
.gitignore
LICENSE
README.md
lib.config
packagedef

README.md

Формирование 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/
You can’t perform that action at this time.