2016-09-15 83 views
0

在Symfony的2.4我使用的路線和方法註解喜歡Symfony2的格式的例外如下:通過方法註釋拋出

/** 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

不允許@Method("GET")表示Symfony拒絕路由級別的請求並執行默認的異常控制器。如果您想覆蓋默認的異常輸出,請按照here的描述覆蓋默認的異常行爲。

我想你可以簡單地通過添加一些.json.twig模板來獲得JSON異常。如果您需要更多的靈活性,您也可以重寫默認的異常控制器。