Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Файловая структура

Ядро

Основа

Блок кода
lib/Abills/Api

# Суброутеры ядра API
lib/Abills/Api/Paths/[sub/module].pm

# Валидации
lib/Abills/Api/Validations/[sub/module].pm

...

Блок кода
# Бандл 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 name]/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