首页 > 解决方案 > 在 API 平台中获取组中所有属性的列表

问题描述

使用API 平台 1.2

为了这个问题,我简化了我的设置。请原谅缺乏以下标准。

我有 2 个实体:BookCategory. Book特性:

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

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

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

$category属性被映射到一个Category实体。Category有财产$categoryName。这也附加到该book:read组。

在 GET API 调用中,输出包含所有Book属性和$categoryName属性。这很棒

我想知道的是:使用 API 平台,我将如何获取上述序列化组的所有属性?

我发现我可以利用\ApiPlatform\Core\Metadata\Property\Factory\PropertyMetadataFactoryInterface获取属性信息,但这需要知道要检查哪些类和属性。使用元数据查找遍历所有实体,然后遍历所有属性,执行另一个元数据查找似乎既浪费又缓慢。

有没有更好的方法来实现这一点?我基本上想要与 API 通过提供实体名称和组名称产生的输出相同的输出。

标签: symfonyapi-platform.com

解决方案


推荐阅读