在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子请求?
答案 0 :(得分:0)
不允许@Method("GET")
表示Symfony在路由级别拒绝请求并执行默认的异常控制器。如果要覆盖默认的异常输出,请按照here概述覆盖默认的异常行为。
我认为只需添加一些.json.twig
模板就可以获得JSON异常。如果需要更多灵活性,也可以覆盖默认的异常控制器。