Symfony2:如何在控制器中抛出异常时以指定的路由格式返回响应?

时间:2013-09-19 15:20:01

标签: json symfony

当我调用此控制器时,路由指定JSON格式:

class MyController extends Controller
{
  /**
   * @Route("/", defaults={"_format"="json"}))
   * @Method({"GET"})
   */
  public function indexAction(Request $request)
  {
      throw new \Exception('foo');
  }
}

我使用json Content-Type标头获取响应,但其正文(带有错误消息)是html。

但是,从这个文档http://symfony.com/doc/current/cookbook/controller/error_pages.html,我认为Twig从指定的格式(和状态代码)中选择模板,例如“error.json.twig”?

我想获得一个json响应:

{ error : "foo" ... }

我做错了什么?

1 个答案:

答案 0 :(得分:0)

好的......这是一个新问题,现在拉入symfony github:https://github.com/symfony/symfony/pull/9084#commits-pushed-39d55de