Загрузка «аннотаций из другого класса» не имеет особого смысла. Аннотации читаются в аннотированном коде, и это их цель.
Но если вы хотите сохранить конфигурацию и код отдельно, у вас нет для использования Swagger- Php для создания файла конфигурации Swagger.
Пакет представляет собой просто удобный способ создания файла swagger.json
из аннотаций кода.
Но если вы не хотите Во-первых, используйте аннотации и держите ваши классы в чистоте от посторонних настроек (что я лично приветствую), просто ... не используйте Swagger- Php и не создавайте свои собственные файлы конфигурации вне ваших классов.
Вы даже можете написать это на YAML, если вам удобнее, чем писать JSON от руки. Например: *
openapi: 3.0.0
info:
title: 'Search API'
version: 1.0.0
servers:
- url:
description: Current host server
- url: https:your-server.com
description: Prod server
paths:
/foo:
post:
summary: 'Creates a new foo'
description: 'Builds a new Foo and makes it available to Bar'
requestBody:
description: 'Foo '
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Foo'
responses:
'201':
description: Foo created
'202':
description: Foo queued, it will be eventually created.
components:
schemas:
Foo:
type: object
required:
- name
- size
properties:
name:
type: string
size:
type: integer
После преобразования в JSON (для этого существует множество библиотек, или вы даже можете использовать бесплатный сервис , например, ), вы может передать полученный JSON напрямую в чванство.
Например, YAML выше разбирает этот JSON файл . Вы можете легко протестировать его, перейдя к демонстрационному экземпляру Swagger и перейдя по URL-адресу JSON в строке адреса "исследовать", и вы получите что-то вроде этого:
В конце концов, это не так много работы, как использование аннотаций (если вообще потребуется больше), и вы можете сохранить свои классы сущностей в чистоте от Проблемы конфигурации.