Изменить http код ответа для кастомной страницы

Когда вы создаёте свою страницу, используя контроллер, то возможности тут же выбрать какой код ответа она возвращает нет. Контроллер занимается только формированием содержания страницы.

Таким образом, страница возвращается с кодом 200. Что делать, если нужно вернуть другой код?

В таком случает нужно модифицировать ответ сервера, подписавшись на событие KernelEvents::RESPONSE. Пример реализации подписки на события можно посмотреть вот тут.

Допустим, вы определили контроллер и описали его в my_module.routing.yml следующим образом:

Тогда реализация подписки может выглядеть так:

Так для указанного маршрута вы меняете код ответа (в примере — 401).

Не забудьте добавить подписчика в my_module.services.yml:

Мало букафф? Читайте есчо !

Запросы с группировкой в Drupal

Август 21, 2023 г.

DB API в drupal позволяет стоить, наверное, почти любые запросы, какие только можно составить на чистом sql. Приведенный ниже сниппет кода демонстрирует ...

Читать

Работа с config split модулем в Drupal

Март 16, 2024 г.

Задача модуля - дать возможность разделить конфигурации сайта для разных системных окружений. На локальном сервере вы можете использовать такие модули ...

Читать

Проверить роль пользователя в twig

Август 16, 2023 г.

Многие стандартные шаблоны в Drupal содержат вывод переменной пользователя (user), что делает возможным реализацию различной логики, в том числе и проверку роли пользователя. Например, вы желаете показывать какой-то элемент шаблона, только для ...

Читать

Реализация блока с внедрением формы

Май 11, 2023 г.

См. основной материал для введения. В имплементации блока требуется сформировать набор переменных и передать его в шаблон. Шаблон был ранее объявлен в основном файле модуля, исходя из макета. [crayon-6a2c971bb8bea602663536/] В макете присутствуют ...

Читать
 

Комментарии к «Изменить http код ответа для кастомной страницы»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: