Spring

RestTemplateで例外発生時にHTTPステータスコードやレスポンスボディを取得する方法

RestTemplateでAPIを呼び出した際、HTTPステータスコード4xx5xx(不明なHTTPステータスコードも含む)が返ると例外が発生します。その際、HTTPステータスコードやレスポンスボディを取得する方法をメモしておきます。

RestClientResponseExceptionの情報を取得すればOK

RestTemplateで例外が発生した場合、RestClientExceptionが発生します。RestClientExceptionをたどると、以下のサブクラスが存在します。

今回は、HTTPステータスコードやレスポンスボディなどといったHTTPレスポンスデータを取得したいので、RestClientResponseExceptionを使います。

具体的には、RestTemplateを使う際、RestClientResponseExceptioncatchしてやればOKです。

まとめ

RestTemplateで例外発生時にHTTPステータスコードやレスポンスボディを取得する方法でした。

参考リンク

-Spring

© 2020 Reasonable Code