我正在使用的Symfony API平台应用程序有许多实体与自我有关系,它们递归地请求这些关系,然后可能超出内存并崩溃。
我确实在SO上找到了this question,但没有结论性的解决方案。
为了限制循环的深度,我做了以下文档:
/config/软件包/框架
framework:
serializer:
default_context:
enable_max_depth: true
我不确定上面的代码是否真的被应用了,因为它似乎接受default_context
下的任何内容。但是当我运行php bin/console debug:config framework
时,它确实正确地显示了。
上面的文档说明enable_max_depth
需要设置为true,但不清楚在哪里/如何更改。
/src/实体/部门层次结构
use Symfony\Component\Serializer\Annotation\MaxDepth;
#[
ORM\ManyToOne(targetEntity: self::class),
Groups(['sectorHierarchy:post', 'sectorHierarchy:get', 'sectorHierarchy:patch']),
MaxDepth(1)
]
private ?self $parent = null;
1条答案
按热度按时间sxpgvts31#
问题是在哪里将
enable_max_depth
设置为true。因此,上面我放在
/config/packages/framework
上的代码不适用。相反,应将以下内容添加到
normalization_context
: