Spring RESTコントローラーで個別のヘッダーを取得する方法


  1. @RequestHeaderアノテーションを使用する方法: Springでは、@RequestHeaderアノテーションを使用して、特定のヘッダーの値を取得することができます。以下の例を参考にしてください。

    @GetMapping("/example")
    public ResponseEntity<String> getHeaderValue(@RequestHeader("Header-Name") String headerValue) {
       // ヘッダーの値を使用して必要な処理を行う
       return ResponseEntity.ok("ヘッダー値: " + headerValue);
    }

    上記の例では、"/example"エンドポイントに対するGETリクエストの"Header-Name"ヘッダーの値を取得し、それを使用して適切なレスポンスを返します。

  2. HttpServletRequestを使用する方法: もう一つの方法は、HttpServletRequestオブジェクトを使用してヘッダー情報にアクセスする方法です。以下の例をご覧ください。

    @GetMapping("/example")
    public ResponseEntity<String> getHeaderValue(HttpServletRequest request) {
       String headerValue = request.getHeader("Header-Name");
       // ヘッダーの値を使用して必要な処理を行う
       return ResponseEntity.ok("ヘッダー値: " + headerValue);
    }

    上記の例では、HttpServletRequestオブジェクトのgetHeaderメソッドを使用して、"Header-Name"ヘッダーの値を取得しています。

これらの方法を使用することで、Spring RESTコントローラーで個別のヘッダーを取得し、その値を使用して必要な処理を行うことができます。適切なヘッダーの値を取得することで、APIの動作をカスタマイズしたり、認証やセキュリティの実装を行ったりすることができます。