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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~