例如我有一套房产
#[Groups(['show', 'admin])]
public mixed $name;
如果所有组都不在上下文中,我希望序列化程序忽略该属性。例如,默认情况下,它仍然会包含它:
$this->json($user, context: ['groups' => ['show']]);
如果您想需要所有指定的组,您需要创建一个自定义序列化器。默认的没有提供任何解决方案。
您应该遵循 NormalizerInterface 的结构,特别是使用supportsNormalization() 方法来验证自定义规范化器何时应激活。
您可以在 Symfony 官方文档中找到 Symfony 序列化器组件的完整文档 - 在序列化器组件下。
或
如果您只有 2 组,您可以添加第三组,例如
show_admin
。