Partage
  • Partager sur Facebook
  • Partager sur Twitter

deserialisation symfony jmsserializer

Sujet résolu
    19 octobre 2018 à 16:46:34

    Bonjour je suis actuellement le tuto "construisez une api rest avec symfony" je suis à "Introduction à la sérialisation avec JMSSerializer". 

    Je n'arrive pas avec postman à créer un article en post.

    J'ai une erreur "An exception occurred while executing 'INSERT INTO article (title, content) VALUES (?, ?)' with params [null, null]:"

    Voici mon controller : 

    <?php
    
    namespace AppBundle\Controller;
    
    use AppBundle\Entity\Article;
    use Symfony\Component\HttpFoundation\Response;
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
    use Symfony\Component\HttpFoundation\Request;
    
    class ArticleController extends Controller
    {
        /**
         * @Route("/articles/{id}", name="article_show")
         */
        public function showAction()
        {
            $article = new Article();
            $article
                ->setTitle('Mon premier article')
                ->setContent('Le contenu de mon article.')
            ;
            $data = $this->get('jms_serializer')->serialize($article, 'json');
    
            $response = new Response($data);
            $response->headers->set('Content-Type', 'application/json');
    
            return $response;
        }
    
        /**
         * @Route("/articles", name="article_create")
         * @Method({"POST"})
         */
        public function createAction(Request $request)
        {
            $data = $request->getContent();
            $article = $this->get('jms_serializer')->deserialize($data, 'AppBundle\Entity\Article', 'json');
            
            $em = $this->getDoctrine()->getManager();
            $em->persist($article);
            $em->flush();
    
            return new Response('', Response::HTTP_CREATED);
        }
    }
    

    La variable $data est vide. Ai je manqué quelque chose ?

    • Partager sur Facebook
    • Partager sur Twitter

    deserialisation symfony jmsserializer

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown