@timager

Как включить JMS\Serializer с требуемыми параметрами в symfony по умолчанию?

Я написал простой метод в контроллере, который должен вернуть сериализованную сущность Event, которая содержит связанные сущности и цикличные ссылки. Подключил JMS\Serializer и сериализую ее вот так:
/**
     * @Route("/event/{id}", name="event", methods={"GET"})
     * @param  Event  $event
     * @param  SerializerInterface  $serializer
     * @return Response
     */
    public function getEvent(Event $event, SerializerInterface $serializer): Response
    {
        return new JsonResponse($serializer->serialize($event, 'json'), 200, [], true);
    }


Это работает, однако хотелось бы избавиться от необходимости передавать такое большое количество параметров в JsonResponse. Есть ли возможность сконфигурировать JMS\Serializer или добиться аналогичного поведения от встроенного сериалайзера symfony, что бы просто передавать можно было просто писать в контроллере вот так:
return new JsonResponse($event);
или так:
return $this->json($event);

Я понимаю что можно просто вынести это в отдельный метод или отнаследоваться от JsonResponse, но хотелось бы узнать можно ли добиться желаемого поведения без подобных решений.
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы