2017-12-24 7 views
1

常にnullであります418 nullレスポンス。@ControllerAdviceのレスポンスボディは、私は、例外のエラーメッセージとして応答の本文を設定したい

回答が418であることがわかっていますが、私が望む値を印刷しているので、メッセージがヌルではないことが分かります。

すべてのヘルプはあなたがあなたのRestTemplateまたは何呼び出しコードは、私はいくつかの仮定をするつもりだし、これらのいずれかが間違っている場合は、あなたが私を修正することができますように見えるの構成に関する情報を提供しなかった

答えて

1

を高く評価しました。

  1. あなたRestTemplateあなたは、一般的なキャッチ(例外の例)を使用しているDefaultResponseErrorHandler
  2. を使用しているこれらに該当する場合は、4XX状態に遭遇したとき、あなたのRestTemplateがHttpClientErrorExceptionを投げるために起こっている

をブロックコード。コードhereがあります。

汎用のcatch (Exception ex)ブロックだけを使用している場合は、応答本体を使用できません。レスポンス本文にアクセスするには、catch(HttpClientErrorException ex)ブロックを追加し、コンテンツをex.getResponseBodyAsString()

+0

から取得してください。私は特定の例外をキャッチしていたが、getResponseBodyAsString()を使用していなかった。 RestTemplateの設定でこれらの例外を暗黙的に処理する方法はありますか?またはRestTemplateのそれぞれの呼び出しでtry/catchを個別に呼び出す必要がありますか? – kaybee99

+0

@ kaybee99、暗黙のうちにそれらを扱うことはどういう意味ですか?あなたは達成しようとしているものの例を持っていますか? –

関連する問題