Я написал простой метод в контроллере, который должен вернуть сериализованную сущность 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, но хотелось бы узнать можно ли добиться желаемого поведения без подобных решений.