带有 GetSetMethodNormalizer returns 空数组而不是日期的 Symfony 序列化程序
Symfony serializer with GetSetMethodNormalizer returns an empty arrays instead of dates
我配置服务使用 GetSetMethodNormalizer
services:
Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer:
arguments: [ '@Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface', '@serializer.name_converter.camel_case_to_snake_case' ]
tags: [serializer.normalizer]
当我调用 $serializer->serialize()
时,我得到一个空数组作为序列化日期变量的值。
请问如何解决?
问题出在规范化程序的优先级上。这是一个解决方案:
services:
Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer:
arguments: ['@Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface', '@serializer.name_converter.camel_case_to_snake_case']
tags:
- { name: 'serializer.normalizer', priority: -1100 }
新的优先级会将此规范化器置于所有标准规范化器之后,序列化将按预期工作。
我配置服务使用 GetSetMethodNormalizer
services:
Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer:
arguments: [ '@Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface', '@serializer.name_converter.camel_case_to_snake_case' ]
tags: [serializer.normalizer]
当我调用 $serializer->serialize()
时,我得到一个空数组作为序列化日期变量的值。
请问如何解决?
问题出在规范化程序的优先级上。这是一个解决方案:
services:
Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer:
arguments: ['@Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface', '@serializer.name_converter.camel_case_to_snake_case']
tags:
- { name: 'serializer.normalizer', priority: -1100 }
新的优先级会将此规范化器置于所有标准规范化器之后,序列化将按预期工作。