2

我的问题如下:

throw new HttpException(422, "some message")在控制器中不起作用。

然而,throw new HttpException(404, "some message")作品,以及400(等)

为什么我不能HttpException422 HTTP 状态码抛出一个?

当我尝试这样做时,我会收到带有以下调试信息的 [200] 响应:

致命错误:在供应商\symfony\src\Symfony\Component\HttpKernel\Debug\ErrorHandler.php 中,未捕获的异常 'ErrorException' 带有消息 'Notice: Undefined offset: 422 in app\cache\dev\classes.php line 3079' 67

( ! ) ErrorException: 注意: Undefined offset: 422 in app\cache\dev\classes.php 第 3079 行在 vendor\symfony\src\Symfony\Component\HttpKernel\Debug\ErrorHandler.php 第 67 行

(如果重要的话,我会使用 FOSRESTBundle ......当然我清除了缓存)

4

1 回答 1

5

HTTP 状态 422 仅在 2.1 版中添加。主动调试与 Response::setStatusCode 生成的通知相结合,生成了这个丑陋的异常。但是,在生产过程中似乎没有问题。但是,我的建议是不要使用它

在我看来,这种行为是出乎意料的,应该报告..

于 2012-07-18T22:51:50.003 回答