symfony - Symfony2 JMSSerializerBundle expose property in YML -
i want expose few properties of user class, using jmsserializerbundle , fosrestbundle. seems serializer bundle not reading configuration file.
my user class in src/appbundle/entity/user
, extends fosuserbundle user class.
here user class:
<?php namespace appbundle\entity; use doctrine\orm\mapping orm; use fos\userbundle\model\user baseuser; use symfony\component\validator\constraints assert; /** * user * * @orm\table(name="backoffice_user") * @orm\entity(repositoryclass="appbundle\entity\repository\userrepository") */ class user extends baseuser { /** * @var integer * * @orm\column(name="id", type="integer") * @orm\id * @orm\generatedvalue(strategy="auto") */ protected $id; /** * @var string * * @orm\column(name="lastname", type="string", length=70) */ private $lastname; /** * @var string * * @orm\column(name="firstname", type="string", length=70) */ private $firstname; }
this app/config.yml file
jms_serializer: metadata: debug: true auto_detection: true
and yml mappgin file in src/appbundle/resources/config/serializer/entity.user.yml
:
appbundle\entity\user: exclusion_policy: exclude: true properties: email: exclude: true expose: true
the file not read (or @ least not taken account), because api returns me fields of entity.
am forgetting ?
your mapping file not loaded, because serializer applies rules class properties defined. in case - fos\userbundle\model\user
. need override third-party metadata
- brief sample can seen in bundle's documentation
in config.yml, jms_serializer
should this:
jms_serializer: metadata: auto_detection: true directories: fosuserbundle: namespace_prefix: "fos\\userbundle" path: "@appbundle/resources/config/serializer"
inside directory serializer
should have file named model.user.yml
configuration this:
fos\userbundle\model\user: exclusion_policy: # add desired configuration below.
Comments
Post a Comment