Я пытаюсь создать пользовательскую страницу 404 для проекта Symfony 5, которая должна:
- Вывести простую строку с кодировкой JSON, например "Не найдено".
- Указанная строка должна быть прочитана из ресурса перевода.
- Имеется дополнительный заголовок
Content-Type: application/json
.
Есть раздел в Symfony документы, , которые пытаются объяснить, как этого можно достичь , но информация кажется неполной / неправильной, по-видимому, записывается для версии 4.X, даже указывая на несуществующие исходные файлы на GitHub .
Мне удалось создать контроллер ошибок, но он глотает все ошибки:
# config/packages/framework.yaml
framework:
error_controller: App\Controller\ErrorController::errorHandler
// src/Controller/ErrorController.php
class ErrorController extends AbstractController
{
public function errorHandler(TranslatorInterface $translator) : JsonResponse
{
return new JsonResponse($translator->trans('not_found'));
}
}
Проблема состоит в том, что это приводит к любой ошибке (включая внутренние), возвращающей Страница 404.
Как я могу заставить этот контроллер / метод обрабатывать только 404 ошибки и оставить все остальное, как прежде, самой платформой?