SpringBoot 18 エラー時のデフォルトレスポンスを実装
SpringBootではエラー時のデフォルトレスポンスが実装されています。
StackTraceまで表示されるのはデバッグ時には便利ですが、ユーザには見せたくありません。
また、独自のエラーレスポンスで置換えたい時があります。
そこで、デフォルトレスポンスを実装し直します。
下記記事のRestController編を参考にしました。
qiita.com
後は独自のExceptionを実装し、そこから情報を取得するように変更します。
private void addErrorMessage(Map<String, Object> errorAttributes, Throwable error) { if (!(error instanceof CustomException)) { errorAttributes.put("details", null); return; } CustomException cmErr = (CustomException) error; errorAttributes.put("details", cmErr.getDetails()); }
また、エラー時のステータスコードについては以下の記事にある、特定の例外がスローされたときのステータスコードを指定するを参考に実装しました。
これで、エラーの場合の実装も完了です。