暇な日々にスパイスを

学んだ技術の備忘録

Spring Boot 9 Error遷移時の共通処理

Error遷移時の共通処理を実装していきます。

Spring BootのデフォルトではError遷移時には下記画面が表示されます。(ブラウザからアクセスした場合) f:id:snona:20160218062230p:plain
また、WebAPIの場合は以下のようになります。
f:id:snona:20160218062334p:plain

これを任意の画面やレスポンスにするために、ErrorControllerインターフェイスを実装したクラスを作成します。
f:id:snona:20160218062133p:plain

この時getErrorPathをオーバライドする必要があります。
また、RequestMappingのproducesに設定することでブラウザ側とWebAPIで返すエラーを選択させています。

また、以前のAOPによる差し込み対象に、今回実装したクラスが含まれていると動作しなくなるため、AOPのログ出し対象から除外するようにします。
f:id:snona:20160218035023p:plain
対象のパッケージを狭め、実装したInterceptorを含まれないパッケージに格納します。

実行結果は以下のようになります。
ブラウザ側から存在しないURLへアクセス
f:id:snona:20160218063233p:plain

WebAPIとして呼び出し f:id:snona:20160218063314p:plain

後は、エラーページとWebAPIに対するErrorの内容を作りこんでいく必要があります。