@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>。 |