Файловая структура
Ядро
Основа
# Суброутеры ядра API Abills/Api/Paths/[submodule].pm # Валидации Abills/Api/Validations/[submodule].pm # Совмещаемые реализации Abills/Api/Core/[submodule].pm
Тесты
t/Api # тест суб/модуля t/Api/[sub/module]/Api.t # схемы t/Api/[sub/module]/schemas/(admin|user)/[method_path] request.json - схема реквеста schema.json - схема ответа
OpenAPI
# Бандл OpenAPI misc/api/bundle_(admin|user).yaml # Основа для бандла misc/api/(admin|user).yaml # Пути для субмодуля misc/api/(admin|user)/[sub/module]/paths.yaml # Схема для одного пути misc/api/(admin|user)/[sub/module]/paths/[path].yaml # Ответы для одного варианта пути misc/api/(admin|user)/[sub/module]/paths/[method_path].yaml # Сборщик бандла misc/api/generate_docs.pl
Модули
Основа
# Основа API модуля Abills/modules/[module]/Api.pm # Контроллеры API модуля Abills/modules/[module]/Api/(admin|user)/[controller].pm # Валидации Abills/modules/[module]/Validations.pm # Список ошибок Abills/modules/[module]/Errors.pm # Словарь ошибок Abills/modules/[module]/lng_english.pm
Тесты Api
# консольный тест Abills/modules/[module]/t/Api.t # схемы Abills/modules/[module]/t/schemas/(admin|user) # схемы для пути-метода Abills/modules/[module]/t/schemas/(admin|user)/[path_method]/ request.json - схема реквеста schema.json - схема ответа
OpenAPI
# Список путей Abills/modules/[module]/Api/swagger/(admin|user)/paths.yaml # Описание для одного пути Abills/modules/[module]/Api/swagger/(admin|user)/paths/[path].yaml # Реквест, ответ схемы для одного метода-пути Abills/modules/[module]/Api/swagger/(admin|user)/paths/[path_method].yaml # Ответы для одного варианта пути misc/api/(admin|user)/[sub/module]/paths/[method_path].yaml