From 28dcc94c549cace5f2db1f53854abcf0919b78fd Mon Sep 17 00:00:00 2001 From: Julien DIDIER Date: Sun, 18 Sep 2016 12:40:33 +0200 Subject: [PATCH] [Serializer] documentation for allow_extra_attributes --- components/serializer.rst | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/components/serializer.rst b/components/serializer.rst index 9dfe0555687..2ff504c523b 100644 --- a/components/serializer.rst +++ b/components/serializer.rst @@ -151,6 +151,26 @@ needs three parameters: #. The name of the class this information will be decoded to #. The encoder used to convert that information into an array +By default, additional attributes that are not mapped to the denormalized object will be ignored +by the Serializer component. Set the ``allow_extra_attributes`` key of the deserialization context to ``false`` +to let the serializer throw an exception when additional attributes are passed. + +This will throw an :class:`Symfony\\Component\\Serializer\\Exception\\ExtraAttributesException` exception, +because city is not an attribute of the ``Person`` class:: + + $data = << + foo + 99 + Paris + + EOF; + + $person = $serializer->deserialize($data, 'Acme\Person', 'xml', array( + 'allow_extra_attributes' => false, + )); + + Deserializing in an Existing Object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~