edt-plugins
edt-plugins copied to clipboard
Swagger для http-сервисов в 1С и генерация документации API сервисов
- Подготовка OpenApi json по исходникам конфигурации
- Кодогенерация http сервиса по имеющейся OpenApi спецификации
- Быстрое разворачивание swagger UI.
Прикольная идея))
Быстрое разворачивание swagger UI.
А зачем это делать из инструмента в EDT? типа "посмотреть локально что получилось"?
или это про публикацию сгенерированного сайта документации где-то в домене?
Ну это как консоль отладки, чтобы быстро можно было приступить к тестированию.
Вовне тоже можно сгенерировать ну или просто OpenApi json отдавать.
@zeegin ты сделаешь такой плагин?)) я хочу его!
@zeegin ты сделаешь такой плагин?)) я хочу его!
Подожду пока, может кто еще захочет сделать ;)
Что нашел из имеющегося:
- Расширения для конфигурации которые передают свагер спецификацию, откуда берут еще не ковырял https://github.com/zerobig/swagger-1c
- Консольная утилита на оскрипте которая собирает спецификацию свагера по исходникам, как я понял по метаданным и доккомментам https://github.com/botokash/swagger
Перехожу с RAML на OpenAPI на уровне прототипирования. В применении к 1С вижу проблему с описанием разделов кроме верхнего уровня path. Список путей относительно просто собирается из списка HTTP сервисов, от туда же можно получить список параметров "in: path". Дальше сложнее описывается либо как аннотация к обрабатывающей функции (operationId: "") и собирается через плагин, либо через функции хелперы. Parameters "in: query", формат данных, схема данных, коды ответа ....
У меня была попытка сделать HTTP сервис полностью кодом, есть наработки по использованию схемы OpenAPI для роутинга.
Если дальше разбирать вопрос, то нужно для каждого узла описания продумывать как это будет обрабатываться в 1С, после писать пример реализации и делать конвертеры в обе стороны doc<->code.
Взял в работу
https://github.com/akpaevj/OpenAPI.1C - но пока нет p2 репы для установки.
https://github.com/akpaevj/OpenAPI.1C - но пока нет p2 репы для установки.
Плагин проходил внутреннее тестирование. Скоро обновлю репозиторий, создам репу