跳到主要内容

@RequestHeader

ChatGPT-4o-mini 中英对照 @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-EncodingKeep-Alive 头的值:

@GetMapping("/demo")
public void handle(
@RequestHeader("Accept-Encoding") String encoding, 1
@RequestHeader("Keep-Alive") long keepAlive) { 2
//...
}
java
  • 获取 Accept-Encoding 头的值。

  • 获取 Keep-Alive 头的值。

如果目标方法参数类型不是 String,则会自动应用类型转换。请参见 Type Conversion

当在 Map<String, String>MultiValueMap<String, String>HttpHeaders 参数上使用 @RequestHeader 注解时,该映射将填充所有头部值。

提示

内置支持可将以逗号分隔的字符串转换为字符串数组或其他类型的集合,这些类型为类型转换系统所知。例如,带有 @RequestHeader("Accept") 注解的方法参数可以是 String 类型,但也可以是 String[]List<String>