我试图通过允许用户从web界面选择要序列化的字段来获得一种自定义的API创建。
一种可能的解决方案是允许用户创建等效的JMS序列化组。
是否有一些方法可以在运行时配置JMS组,以便我可以调用以下内容?
$serializer->serialize(new X(), 'json', SerializationContext::create()->setGroups(array('my_custom_group')));
您可以使用
interface ExclusionStrategyInterface
{
public function shouldSkipClass(ClassMetadata $metadata, Context $context);
public function shouldSkipProperty(PropertyMetadata $property, Context $context);
}
一个非常广泛的例子,如何使用它,请检查这个链接:
http://jolicode.com/blog/how-to-implement-your-own-fields-inclusion-rules-with-jms-serializer