@RestController
にはSpring
があります。私はクエリパラメータ?format=
を使用して返されるコンテンツタイプを制御します(これは春の組み込み機能です)。Springのカスタムコンテンツタイプでエラーメッセージを返すには?
問題:content-typeがjson/xmlではなく、テキストまたはcsv
の場合、返されたエラー応答をcsv
に変換しようとします。どちらが失敗し、したがって私はAuthenticationException
のように返されませんが、HttpMediaTypeNotAcceptableException
です。
形式= JSON:??
{
"timestamp": "2017-11-15T11:00:07.079+0000",
"status": 401,
"error": "Unauthorized",
"message": "Bad credentials",
"path": "..."
}
形式=のxml:?
<Map>
<timestamp>2017-11-15T11:00:21.590+0000</timestamp>
<status>401</status>
<error>Unauthorized</error>
<message>Bad credentials</message>
<path>...</path>
</Map>
形式= CSV:(私は直接テキストCSVファイルを作成し、いくつかのエンドポイントを提供します):
Response could not be created: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
質問:私はどのようにフォーマットのパラメータがjson/xmlではないかのように、プレーンテキストのようなエラー応答をフォーマットするためにspringに指示できますか?
しかし、春がcsv' 'に元の例外を変換しようとした後、これが唯一' HttpMediaTypeNotAcceptableException'をキャッチ。 'timestamp、status、error、message、path'フィールドの実行応答は、春、他の場所で生成されます。 – membersound