src/EventListener/Web/JsonApiResponseListener.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\EventListener\Web;
  3. use App\Model\Controlpanel\Response\WebJsonApiResponse;
  4. use Symfony\Component\HttpKernel\Event\ResponseEvent;
  5. use Symfony\Component\Serializer\Encoder\JsonEncoder;
  6. use Symfony\Component\Serializer\SerializerInterface;
  7. class JsonApiResponseListener
  8. {
  9.     /** @var SerializerInterface */
  10.     private $serializer;
  11.     public function __construct(SerializerInterface $serializer)
  12.     {
  13.         $this->serializer $serializer;
  14.     }
  15.     public function onKernelResponse(ResponseEvent $event): void
  16.     {
  17.         $response $event->getResponse();
  18.         if ($response instanceof WebJsonApiResponse) {
  19.             $response->setContent($this->serializer->serialize($response->getDocument(), JsonEncoder::FORMAT));
  20.         }
  21.     }
  22. }