Как добавить промежуточное ПО для одного или двух контроллеров в Symfony4?

Я хочу несколько контроллеров, которые имеют такие методы:

public function syncAction(EntityManager $em)
{
$posts = $em->getRepository('App:Posts')->findAllByOwner($this->getUser());

return new JsonResponse(['ok' => true, 'posts' => $this->toJson($posts)]);
}

Я хочу добавить что-то вроде промежуточного программного обеспечения для автоматического jsonify ответа от всех действий этого контроллера. И просто сделать это:

    return new JsonResponse(['ok' => true, 'posts' => $posts]);

PS Также автоматически сериализуют мои экземпляры.

0

Решение

У Symfony нет концепции промежуточного программного обеспечения, но event слушатель и подписчик (в основном одно и то же).

Посмотри на https://symfony.com/doc/current/event_dispatcher/before_after_filters.html

Вы будете использовать kernel.response (KernelEvents::RESPONSE) событие, чтобы манипулировать ответом контроллера.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]