2016-09-15 5 views
0

В Symfony 2.4 Я использую маршрут и методы аннотацию нравится следующим образом:Symfony2 исключения формат выброшены метода аннотация

/** di elaborazione creazione offerta 
* 
* @param Request $request 
* @return JsonResponse 
* 
* @Route("/process", name="process", options={"expose" : true}, defaults={"_format" : "json"}) 
* @Method("POST") 
*/ 

если я бросаю MethodNotAllowedException внутри тела действий, ответ правильно JSON отформатирован один, тогда как вызов в HTTP: GET возвращает полностью отформатированную страницу исключения html, как если бы атрибут _format не был загружен. Можно ли передать атрибут _format в подзапрос ExceptionController?

ответ

0

Не разрешать @Method("GET") означает, что Symfony отклоняет запрос на уровне маршрута и выполняет контроллер исключения по умолчанию. Если вы хотите переопределить вывод исключения по умолчанию, переопределите поведение исключения по умолчанию, как указано here.

Я думаю, вы можете получить исключение JSON, просто добавив некоторые шаблоны .json.twig. Вы также можете переопределить контроллер исключений по умолчанию, если вам нужна большая гибкость.

Смежные вопросы