2

私の問題は次のとおりです。

throw new HttpException(422, "some message")コントローラでは動作しません。

ただし、400(など)throw new HttpException(404, "some message")と同様に機能します

422 HTTPステータスコードHttpExceptionでをスローできないのはなぜですか?

しようとすると、次のデバッグ情報を含む[200]応答が返されます。

致命的なエラー:キャッチされない例外「ErrorException」とメッセージ「注意:未定義のオフセット:422のapp \ cache \ dev\classes.php行3079」のvendor\symfony \ src \ Symfony \ Component \ HttpKernel \ Debug\ErrorHandler.phpオンライン67

(!)ErrorException:注意:未定義のオフセット: app \ cache \ dev\classes.phpの422行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 に答える