https://github.com/webpractik/bitrixoa
Пакет для генерации аннотаций и отрисовки SwUi, при работе с контроллерами Bitrix.
https://github.com/webpractik/bitrixoa
Last synced: 10 months ago
JSON representation
Пакет для генерации аннотаций и отрисовки SwUi, при работе с контроллерами Bitrix.
- Host: GitHub
- URL: https://github.com/webpractik/bitrixoa
- Owner: webpractik
- License: mit
- Created: 2021-05-18T08:02:06.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2023-02-09T09:02:27.000Z (about 3 years ago)
- Last Synced: 2024-11-02T06:28:20.295Z (over 1 year ago)
- Language: PHP
- Size: 20.5 KB
- Stars: 35
- Watchers: 9
- Forks: 10
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [bitrixoa] Bitrix OpenApi
Пакет для генерации [Swagger UI](https://swagger.io/tools/swagger-ui/) на основе аннотаций при работе с [контроллерами](https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=6436&LESSON_PATH=3913.3516.5062.3750.6436) и роутером Bitrix.
## Установка
```angular2html
composer install webpractik/bitrixoa
```
## Генерация
```./vendor/bin/bitrixoa```
### Параметры
1. `--bitrix-generate` параметр указывает, что openapi необходимо смотреть в директорию local/modules
2. `--index-mode` создаст сгенерированный /api-doc/index.php с разметкой swaggerui физически.
## Режимы работы
### A. Через нативный bitrix router (v20+)
Если Ваш роутер не настроен, то прочтите [Настройка роутера Bitrix](docs/bxrouter.md):
1. Добавьте в роутер
```php
use Bitrix\Main\Routing\RoutingConfigurator;
return function (RoutingConfigurator $configurator) {
$configurator->get('api-doc', [\BitrixOA\BitrixUiController::class, 'apidocAction']);
};
```
2. В таком случае документация откроется по адресу `/api-doc`
### B. Через Bitrix Controller без роутера
1. Создайте в своем модуле файл `.settings.php`
2. Задайте корректный namespace и конфигурации для своего модуля
3. Скопируйте содержимое класса BitrixUiNativeController из этого пакета к себе в модуль, в свой класс-контроллер
4. Обращайтесь по адресу `<адрес сайта>/bitrix/services/main/ajax.php?action=<ваши настройки>`
### С. Статический UI
Запустить генерацию с флагом `--index-mode` создаст сгенерированный `/api-doc/index.php` с разметкой swaggerui физически.
## Roadmap
- [ ] Сделать генерацию путей на основе анализа роутера
- [ ] Покрыть тестами