У меня есть несколько пользовательских ролей с доступом к заказам и контролерам для каждого из них. Существуют ли способы изменить нормализатор для одного объекта, например ...
, в этом действии мне нужно получить нормализатор для курьера:
## CourierController
/**
* @Rest\Get()
*/
public function orders()
{
$serializer = $this->get('serializer');
$orders = $this->getDoctrine()
->getRepository(Order::class)
->findBy(['courier' => $this->getUser()->getCourierAccount()]);
$data = $serializer->normalize($orders); // <--------- 1) how to choose the right normalizer?
return $this->json($data);
}
Но в этом мне нужно что-то вроде 'ClientOrderNormalizer'
## ClientController
/**
* @Rest\Get()
*/
public function orders()
{
$serializer = $this->get('serializer');
$orders = $this->getDoctrine()
->getRepository(Order::class)
->findBy(['client' => $this->getUser()->getClientAccount()]);
$data = $serializer->normalize($orders); // <--------- 2) how to choose the right normalizer?
return $this->json($data);
}