Получение списка всех свойств в группе на платформе API - PullRequest
0 голосов
/ 20 июня 2020

Использование API Platform 1.2 .

Я упростил свою настройку для целей этого вопроса. Извините, пожалуйста, за отсутствие следующих стандартов.

У меня 2 объекта: Book и Category. Book свойства:

/**
* @Groups({book:read})
*/
$name;

/**
* @Groups({book:read})
*/
$summary;

/**
* @Groups({book:read})
*/
$category;

Свойство $category сопоставлено с сущностью Category. Category имеет свойство $categoryName. Он также присоединен к группе book:read.

В вызове GET API этот вывод содержит все свойства Book плюс свойство $categoryName. Это здорово ?

Я хочу знать следующее: Используя платформу API, как я могу go получить все свойства для группы сериализации, такой как выше?

Я обнаружил, что я можно использовать \ApiPlatform\Core\Metadata\Property\Factory\PropertyMetadataFactoryInterface, чтобы получить информацию о свойстве, но для этого нужно знать, какие классы и свойства нужно проверить. Цикл по всем объектам с поиском метаданных, затем по циклу по всем свойствам, выполнение другого поиска метаданных кажется расточительным и медленным.

Есть ли лучший способ добиться этого? Я в основном хочу получить тот же результат, что и API, вводя имя объекта и имя группы.

...