Symfony 6、Api 平台 3、Php 8
我有 Symfony-Doctrine 实体,已使用 Api-Platform 的
ApiResource
注释进行注释,并且我正在使用 GetCollection
操作,该操作执行其设计目的。
假设这个实体是一个存储法定交易的模型。此示例的主要字段是金额(浮点型)和日期(日期时间)。
在用户界面中,有这些交易的分页表,它与 Api 平台提供的所有功能配合得很好。
我有一个要求,当设置了一定的日期范围时,交易列表应该显示附加信息:在本例中是查询期间所有交易的总和。我正在使用 Api 平台的内置过滤器。
我的问题是:有没有人找到一种方法来使用附加数据扩展 Api 平台的
GetCollection
JsonLd 响应?
我已经使用单独且指定的 API 端点实现了此用户界面功能,该端点仅返回提交的过滤器(日期范围)的总数,但我更愿意将这两个 API 端点结合起来。
我尝试过 Api-Platform 的 DataProviders 和 Dtos,但没有成功。
我试图找到 ApiPlatforms DataProvider 构建 Doctrine DQL 查询的地方。我的想法是克隆它,修改它(保留设置过滤器 WHERE 语句)并将结果添加到 JsonLD 集合和分页数据旁边。
有多种方法可以满足您的需求。理想的解决方案取决于您的具体要求。
例如
根据您的具体需求,还有其他几个选项。几乎任何用例都有很多示例https://api-platform.com/docs/core/