0
、クライアントに返さ:内部エラーが発生し、あまりにも多くのデバッグ情報は、私の春のRESTコード内でスローされた例外がある場合、サーバは、クライアントに次のような何かを送り春RESTで
{
"timestamp": 1502184648199,
"status": 500,
"error": "Internal Server Error",
"exception": "org.foo.DataAccessException",
"message": "SQL [select * from my_table]: Table does not exist",
"path": "/my-api"
}
Iライブシステムにこのようにインストールされていると、クライアントにあまりにも多くの内部情報が公開されることが懸念されます。それは、私たちのテーブル構造を示すSQL、またはExceptionにある可能性のある他の情報を含むかもしれません。 (これはテストシステムでのデバッグには便利だと認めますが)
この詳細情報がクライアントに送信されないようにするにはどうすればよいですか?
を見て、私は、要求JSONが有効でない場合、これは今、このコードを任意の例外を実行するだけでなく、例外ではないだけということに気づきます。このコードがなければ、JSONが無効である(これは良い)ケースで400エラーが発生します。無効なJSON(400エラー)のためにSpringのデフォルトの動作を維持する方法はありますか?キャッチされない例外の場合にSpringが内部メッセージの詳細を例外メッセージに出力しないようにするこの新しい機能はありますか? –
その場合、Springへの応答フォーマットsimillerで400エラーに対してExceptionHandlerを定義し、上で定義したようにcatch all Handlerを上記のままにする必要があります。 –