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

Ключ

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

Оглавление

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

Ядро

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

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

# Валидации
lib/Abills/Api

...

/Validations/[sub/module].pm

Тесты

Блок кода
t/Api

# тест суб/модуля
t/Api/[sub/module]/Api.t
# схемы
t/Api/*/schemas[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 name]/Api.pm

Тесты Api

Блок кода
# консольный тест
Abills/modules/[module name]/t/Api.t
# схемы
Abills/modules/[module name]/t/schemas/(admin
Abills/modules/[module name]/t/schemas/user|user)

OpenAPI

Блок кода
Abills/modules/[module name]/Api/swagger/(admin
Abills/modules/[module name]/Api/swagger/user|user)