Пользовательские страницы ошибок Symfony API 404 в формате JSON - PullRequest
1 голос
/ 26 июня 2019

Я не понимаю, как настроить страницы ошибок в формате JSON для REST API, написанные с помощью Symfony .Я сделал это маленькое демо :

Как видите, проект настроен с помощью Twig Bundle, и я настроил 404 страницы в формате JSON.

Я протестировал API с сервером разработки.

  • В режиме dev я получаю сообщение JSON с выделенным URL-адресом (http://localhost:8000/_error/404.json)
  • В режиме prod , когда я вызываю API с неправильным URI:

    curl -H "Content-Type: application / json" -H "Принимаем: application / json" -ihttp://localhost:8000/api/v1/vols

Клиент получил страницу HTML 404, а не формат JSON (предполагается, что отправка заголовка с помощью команды curl устанавливает symfony для ответа в формате JSON).

1 Ответ

0 голосов
/ 26 июня 2019

Вы можете сделать это, переопределив действие ошибки показа веток, заставив его отображать JSON вместо HTML. Рекомендую посмотреть здесь: https://symfony.com/doc/4.2/reference/configuration/twig.html#exception-controller

Не забудьте, что Symfony может обработать файл .json.twig

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...