JMS Serializer:覆盖 symfony 4 中的默认命名策略无效

JMS Serializer: overriding default naming strategy in symfony 4 has no effect

我发现这个 thread 提出了一种巧妙的方法来全局覆盖 config.yml

中的默认命名策略

但这是针对 symfony 3 的,我在 symfony 4 上,所以我将这行添加到我的 config > packages > jms_serializer.yaml 但这根本没有效果。

jms_serializer:
  visitors:
    xml_serialization:
        format_output: '%kernel.debug%'
  property_naming:
    id: 'jms_serializer.identical_property_naming_strategy'

有人明白为什么吗?

我对 SerializerInterface $serializer 进行依赖注入以使用序列化程序,因为无法从 SF4 中的 AbstractController 调用服务。 Controller 在 SF4 中已弃用。

尝试手动删除 var/cache。当我用 cache:clear 命令清除缓存时它不起作用,但是在我手动清除它之后它起作用了!

我希望这个解决方案也能帮到你。

jms_serializer.camel_case_naming_strategy.class: JMS\Serializer\Naming\IdenticalPropertyNamingStrategy 添加到您的参数配置中。