webpractik / bitrixoa
A package for generating annotations and drawing SwUi when working with Bitrix controllers.
Installs: 6 366
Dependents: 0
Suggesters: 0
Security: 0
Stars: 37
Watchers: 8
Forks: 10
Open Issues: 4
Requires
- zircote/swagger-php: ^3.1 || ^4.6.1
README
Пакет для генерации Swagger UI на основе аннотаций при работе с контроллерами и роутером Bitrix.
Установка
composer install webpractik/bitrixoa
Генерация
./vendor/bin/bitrixoa
Параметры
--bitrix-generate
параметр указывает, что openapi необходимо смотреть в директорию local/modules--index-mode
создаст сгенерированный /api-doc/index.php с разметкой swaggerui физически.
Режимы работы
A. Через нативный bitrix router (v20+)
Если Ваш роутер не настроен, то прочтите Настройка роутера Bitrix:
- Добавьте в роутер
use Bitrix\Main\Routing\RoutingConfigurator; return function (RoutingConfigurator $configurator) { $configurator->get('api-doc', [\BitrixOA\BitrixUiController::class, 'apidocAction']); };
- В таком случае документация откроется по адресу
/api-doc
B. Через Bitrix Controller без роутера
- Создайте в своем модуле файл
.settings.php
- Задайте корректный namespace и конфигурации для своего модуля
- Скопируйте содержимое класса BitrixUiNativeController из этого пакета к себе в модуль, в свой класс-контроллер
- Обращайтесь по адресу
<адрес сайта>/bitrix/services/main/ajax.php?action=<ваши настройки>
С. Статический UI
Запустить генерацию с флагом --index-mode
создаст сгенерированный /api-doc/index.php
с разметкой swaggerui физически.
Roadmap
- Сделать генерацию путей на основе анализа роутера
- Покрыть тестами