Fondamentalement, je veux désérialiser json à l'objet utilisateur. Comme cetteFOSUserBundle désérialisation à l'objet utilisateur throws "vous devez définir un type"
$serializer = $this->get('jms_serializer');
$data = $serializer->deserialize($this->get('request')->getContent(),
'My\FooBundle\Entity\User', 'json');
Les données de demande transmises à désérialiseur:
{"id":2,"username":"[email protected]","username_canonical":"[email protected]", ... }
erreur Jeté:
request.CRITICAL: Uncaught PHP Exception JMS\Serializer\Exception\RuntimeException: "You must define a type for FOS\UserBundle\Model\User::$username." at ...\vendor\jms\serializer\src\JMS\Serializer\GenericDeserializationVisitor.php line 170 [] []
J'utilise sf 2.3. Y at-il quelque chose qui doit être mis en place pour la désérialisation de la classe d'utilisateurs fos? Une idée de pourquoi je reçois ce message et comment le réparer?
Vous devriez jeter un oeil à [cette question] (http://stackoverflow.com/questions/12960141/jmsserializerbundle-no-control-over-third-party-meta-data). J'ai eu le même problème avec FOSUserBundle, car ces champs ne sont pas définis dans votre modèle 'My \ Foo \ Entity \ User' mais dans le modèle' FOS \ UserBundle \ Model \ User'. – tolgap