Child pages
  • Структура API
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Current »

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

Ядро

Основа

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/[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  
  • No labels