Spring BootのREST APIでエラーハンドリングする方法

Spring BootのREST APIでエラーハンドリングする方法

REST APIでDBに繋がらない場合などにコントローラクラスにに対して同じエラーハンドリングしたい場合、@ExceptionHandlerアノテーションを使用してハンドリングすることができます。

コントローラクラスに以下のようなメソッドを追加します。これでコントローラクラスのAPIで例外発生時(DBに繋がらない場合など)にこのメソッドに遷移されるようになります。

@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
@ExceptionHandler({Exception.class})
@ResponseBody
public Map<String, Object> handleError() {
  Map<String, Object> err = new HashMap<String, Object>();
  err.put("message", "〜");
  err.put("status","〜");
  return err;
}

これで、エラー時のJSONを返却できるようになります。

コメント

タイトルとURLをコピーしました