@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页眉。 |
如果目标方法参数 type 不是String.请参阅类型转换。
当@RequestHeader注解用于Map<String, String>,MultiValueMap<String, String>或HttpHeaders参数,则 Map 会被填充
替换为所有标头值。
内置支持可用于将逗号分隔的字符串转换为
字符串的数组或集合,或者类型转换系统已知的其他类型的集合。为
example,一个带有@RequestHeader("Accept")可以是String但也String[]或List<String>. |