1

カスタムヘッダー 'X-Client-Id'が、RESTに送信されたHTTP要求内のRepositoryで定義された値に設定されているかどうかを検証する方法を探していますコントローラはSpringBootにあります。Spring RestControllerでHTTPヘッダーフィールドを検証する

@RequestHeader(value="User-Agent")のようなメソッドのヘッダーを含むチュートリアル(など)があります。私は、すべてのメソッドにその行を書き、値を検証するための共通のバリデーターBeanを注入する必要があると仮定します。

もう1つのstackoverflow answerHandlerInterceptorを使用しているようです。ヘッダー値とRESTエンドポイントに適用できるかどうかわかりません。

特定のヘッダーが設定されているかどうかは、クラス/ RESTコントローラのすべてのメソッドを検証するための推奨方法は何ですか?

答えて

2

基本的に最も簡単な(そして最も論理的な)方法は、コントローラに到達する前にリクエストをキャッチすることです。これは、他の応答状態としてHandlerInterceptorを使用するか、OncePerRequestFilterのような単純なFilterを使用して達成できます。

doFilter()が最後であるため、そのクラスを拡張し、適切なヘッダー値を抽出し、必要に応じてそれをチェックし、値に応じて例外をスローするかチェーンを続行します。

+0

私は完全な説明をここで見つけたと思います。http://stackoverflow.com/a/35458670/3105453あなたの助けと正しい方向を指してくれてありがとう – user3105453

関連する問題