方法注释引发的Symfony2格式异常

时间:2016-09-15 15:41:57

标签: exception methods annotations symfony-2.4

在Symfony 2.4中,我使用了如下路线和方法注释:

/** 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子请求?

1 个答案:

答案 0 :(得分:0)

不允许@Method("GET")表示Symfony在路由级别拒绝请求并执行默认的异常控制器。如果要覆盖默认的异常输出,请按照here概述覆盖默认的异常行为。

我认为只需添加一些.json.twig模板就可以获得JSON异常。如果需要更多灵活性,也可以覆盖默认的异常控制器。