Symfony 2错误页面响应

时间:2015-04-16 17:46:45

标签: json symfony twig httpresponse

我有一个用Angular编写的SPA,与Symfony2 API一起使用。我想要以json格式重新调整像500这样的错误响应,而不是根据文档here支持的HTML。

  

对于错误页面,它首先查找给定格式和状态代码的模板(如error404.json.twig);

我找不到任何能告诉我如何明确指出我想要json格式的地方。我认为有一个请求标题'接受':' application / json'正如它所谈论的那样,但是在另一个问题here

中提到的不起作用

如何让throw new NotFoundHttpException('Could not find....');返回与默认HTML相对应的json响应。

1 个答案:

答案 0 :(得分:4)

您可以通过两种方式设置格式:

  1. {_format}占位符位于路径的路径中,

  2. 在您的控制器中调用$request->setRequestFormat('json')方法


  3. routeName:
        path: /news/{id}/show.{_format}
        defaults:
            _controller: BundleName:Controller:method
            format: json
        requirements:
            _format: json|xml|html # you can remove xml & html, if you no have there formats