RestTemplateでAPIを呼び出した際、HTTPステータスコード4xxや5xx(不明なHTTPステータスコードも含む)が返ると例外が発生します。その際、HTTPステータスコードやレスポンスボディを取得する方法をメモしておきます。
RestClientResponseExceptionの情報を取得すればOK
RestTemplateで例外が発生した場合、RestClientExceptionが発生します。RestClientExceptionをたどると、以下のサブクラスが存在します。
今回は、HTTPステータスコードやレスポンスボディなどといったHTTPレスポンスデータを取得したいので、RestClientResponseExceptionを使います。
具体的には、RestTemplateを使う際、RestClientResponseExceptionをcatchしてやればOKです。
まとめ
RestTemplateで例外発生時にHTTPステータスコードやレスポンスボディを取得する方法でした。