@RequestHeader
@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
//...
}
获取
Accept-Encoding
请求头的值。获取
Keep-Alive
请求头的值。
@GetMapping("/demo")
fun handle(
@RequestHeader("Accept-Encoding") encoding: String, 1
@RequestHeader("Keep-Alive") keepAlive: Long) { 2
//...
}
获取
Accept-Encoding
请求头的值。获取
Keep-Alive
请求头的值。
如果目标方法参数类型不是 String
,则会自动应用类型转换。请参阅类型转换。
当在 Map<String, String>
、MultiValueMap<String, String>
或 HttpHeaders
参数上使用 @RequestHeader
注解时,该映射将填充所有的头部值。
提示
内置支持将逗号分隔的字符串转换为字符串数组或集合,或者类型转换系统已知的其他类型。例如,使用 @RequestHeader("Accept")
注解的方法参数可能是 String
类型,但也可能是 String[]
或 List<String>
类型。