SpringBoot便利機能 – RestTemplate(カスタマイズ)

この記事のように手動でBean定義を行えばいろいろカスタマイズできます。
私が知っているものを紹介していきます。

タイムアウト

上記の記述で接続タイムアウトと読み込みタイムアウトが設定できます。
サンプルでは接続を1秒、読み込みを0.5秒で設定しています。
設定値はミリ秒です。

エラーステータス時の例外ハンドラ

デフォルトではHTTPレスポンスステータスが
400系はHttpClientErrorException
500系はHttpServerErrorException
の例外をはくようになっています。

何かしらの理由でtry catchしたくない場合には、エラーをはかない設定を追加します。
その為に以下のコードを定義します。

hasErrorメソッドで例外かどうかを判断し、trueが返る場合はhandleErrorメソッドからエラーを出すようです。
ここをうまく変えれば好きな風に変更できるでしょう。

そしてこれをRestTemplate定義時に読み込ませます。

これで反映されました。めでたしめでたし。