Child pages
  • Реализация OpenAPI (Swagger)
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 2 Current »

Доступно с 1.20.00

Наша система имеет некоторые надстройки, реализации сверх стандарта OpenAPI (Swagger) вследствии модульности системы.

Принцип работы

Файловая структура OpenAPI для ядра и модулей описана здесь

При запуске misc/api/generate_docs.pl, берутся за основу файлы user.yaml и admin.yaml (для USER и ADMIN API сооветственно)

И проводится поиск за параметрами $ref, которые ведут к частям OpenAPI тех или иных субмодулей ядра и модулей системы.
За ними постепенно вставляется содержимое, которое потом генерируется в bundle_user.yaml и bundle_admin.yaml.

Примеры

пути к файлам
paths:
  $ref: "./user/user/paths.yaml"
  $ref: "../../Abills/modules/Internet/Api/swagger/user/paths.yaml"
  $ref: "../../Abills/modules/Iptv/Api/swagger/user/paths.yaml"
  $ref: "../../Abills/modules/Msgs/Api/swagger/user/paths.yaml"
  $ref: "../../Abills/modules/Abon/Api/swagger/user/paths.yaml"
  $ref: "../../Abills/modules/Paysys/Api/swagger/user/paths.yaml"
  $ref: "./user/config/paths.yaml"
  $ref: "./user/contacts/paths.yaml"
  $ref: "./user/holdup/paths.yaml"
  $ref: "./user/services/paths.yaml"
  $ref: "./user/bots/paths.yaml"
  $ref: "../../Abills/modules/Portal/Api/swagger/user/paths.yaml"
paths.yaml модуля Portal
/user/portal/menu:
  $ref: "./paths/portal.yaml"
/user/portal/news:
  $ref: "./paths/news.yaml"
/user/portal/news/{id}:
  $ref: "./paths/newsId.yaml"
  • No labels