我有一个用Angular编写的SPA,与Symfony2 API一起使用。我想要以json格式重新调整像500这样的错误响应,而不是根据文档here支持的HTML。
对于错误页面,它首先查找给定格式和状态代码的模板(如error404.json.twig);
我找不到任何能告诉我如何明确指出我想要json格式的地方。我认为有一个请求标题'接受':' application / json'正如它所谈论的那样,但是在另一个问题here
中提到的不起作用如何让throw new NotFoundHttpException('Could not find....');
返回与默认HTML相对应的json响应。
答案 0 :(得分:4)
您可以通过两种方式设置格式:
{_format}
占位符位于路径的路径中,
在您的控制器中调用$request->setRequestFormat('json')
方法
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