Err 500 CircularReferenceException : Petite astuce pour régler les problèmes de référence circulaire dans la sérialisation Symfony

Ce n’est pas documenté, mais il est possible de définir une classe pour intercepter les alertes de références circulaires lors des sérialisations. Je le partage ici pour ne pas l’oublier.

Source : https://stackoverflow.com/questions/54645363/use-the-circular-reference-handler-key-of-the-context-instead-symfony-4-2

CircularReferenceException. A circular reference has been detectedwhen serializing the object
CircularReferenceException

Configuration à ajouter :

# config/packages/serializer.yaml

framework:
    serializer:
        circular_reference_handler: 'App\Serializer\MyCircularReferenceHandler'

Classe php de gestion de l’exception :

<?php

namespace App\Serializer;


class MyCircularReferenceHandler {
    public function __invoke($object) {
        return [ 'id' => $object->getId() ];
    }
}

Testé et approuvé sur Symfony 5.4.9 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *