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 ?
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.