【问题标题】:Symfony2 format exception thrown by method annotation方法注解抛出的 Symfony2 格式异常
【发布时间】:2016-09-15 15:41:56
【问题描述】:

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

【问题讨论】:

    标签: exception methods annotations symfony-2.4


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-09-09
      • 1970-01-01
      • 2014-07-11
      • 1970-01-01
      • 2019-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      相关资源
      最近更新 更多