我的问题如下:
throw new HttpException(422, "some message")
在控制器中不起作用。
但是,throw new HttpException(404, "some message")
可以使用, 400 (等等)
为什么我不能使用 422 HTTP状态代码抛出HttpException
?
当我尝试时,我得到一个[200]响应,其中包含以下调试信息:
致命错误:在供应商\ symfony \ src \ Symfony \ Component中的app \ cache \ dev \ classes.php第3079行中显示消息'注意:未定义的偏移量: 422 的未捕获异常'ErrorException'第67行的HttpKernel \ Debug \ ErrorHandler.php
(!)ErrorException:注意:未定义的偏移量: 422 位于vendor \ symfony \ src \ Symfony \ Component \ HttpKernel \ Debug \ ErrorHandler的app \ cache \ dev \ classes.php第3079行。第67行的PHP
(如果重要,我会使用FOSRESTBundle ...... 当然我清除了缓存)
答案 0 :(得分:5)
仅在2.1版中添加了HTTP状态422。 活动调试与Response :: setStatusCode生成的通知的组合会生成这个丑陋的异常。然而,似乎在生产过程中没有问题。但是,我的建议是不要使用。
在我看来,这种行为是意外的,应该报告..