@RequestHeader
@RequestHeader
アノテーションを使用して、リクエストヘッダーをコントローラーのメソッド引数にバインドできます。
ヘッダー付きの次のリクエストを検討してください。
Host localhost:8080 Accept text/html,application/xhtml+xml,application/xml;q=0.9 Accept-Language fr,en-gb;q=0.7,en;q=0.3 Accept-Encoding gzip,deflate Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive 300
次の例は、Accept-Encoding
および Keep-Alive
ヘッダーの値を取得します。
Java
Kotlin
@GetMapping("/demo")
public void handle(
@RequestHeader("Accept-Encoding") String encoding, (1)
@RequestHeader("Keep-Alive") long keepAlive) { (2)
//...
}
1 | Accept-Encoding ヘッダーの値を取得します。 |
2 | Keep-Alive ヘッダーの値を取得します。 |
@GetMapping("/demo")
fun handle(
@RequestHeader("Accept-Encoding") encoding: String, (1)
@RequestHeader("Keep-Alive") keepAlive: Long) { (2)
//...
}
1 | Accept-Encoding ヘッダーの値を取得します。 |
2 | Keep-Alive ヘッダーの値を取得します。 |
ターゲットメソッドのパラメーター型が String
でない場合、型変換が自動的に適用されます。型変換を参照してください。
@RequestHeader
アノテーションが Map<String, String>
、MultiValueMap<String, String>
、HttpHeaders
引数で使用される場合、マップにはすべてのヘッダー値が入力されます。
コンマ区切りの文字列を、文字列の配列またはコレクション、型変換システムに既知の他の型に変換するための組み込みサポートが利用可能です。例: @RequestHeader("Accept") アノテーションが付けられたメソッドパラメーターは、型 String になりますが、String[] または List<String> にもなります。 |