@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-EncodingKeep-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> 類型。