@RequestHeader

您可以使用@RequestHeader注解将请求标头绑定到 控制器。spring-doc.cadn.net.cn

请考虑以下带有 headers 的请求:spring-doc.cadn.net.cn

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头:spring-doc.cadn.net.cn

@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,则会自动应用类型转换。请参阅类型转换spring-doc.cadn.net.cn

@RequestHeader注解用于Map<String, String>,MultiValueMap<String, String>HttpHeaders参数,则 Map 会被填充 替换为所有标头值。spring-doc.cadn.net.cn

内置支持可用于将逗号分隔的字符串转换为 字符串的数组或集合,或者类型转换系统已知的其他类型的集合。为 example,一个带有@RequestHeader("Accept")可以是String而且还String[]List<String>.