Package org.springframework.web.bind.annotation

# Annotation Interface RequestHeader

@Target(PARAMETER) @Retention(RUNTIME) @Documented public @interface RequestHeader
Annotation which indicates that a method parameter should be bound to a web request header.

Supported for annotated handler methods in Spring MVC and Spring WebFlux.

If the method parameter is `Map<String, String>`, `MultiValueMap<String, String>`, or `HttpHeaders` then the map is populated with all header names and values.

Since:
  3.0
Author:
  Juergen Hoeller, Sam Brannen
See Also:
  - `RequestMapping`
  - `RequestParam`
  - `CookieValue`

## Optional Element Summary

Optional Elements
Modifier and Type
Optional Element
Description
`String`
`defaultValue`
The default value to use as a fallback.
`String`
`name`
The name of the request header to bind to.
`boolean`
`required`
Whether the header is required.
`String`
`value`
Alias for `name()`.

## Element Details

### value

@AliasFor("name") String value
Alias for `name()`.

Default:
  ""

### name

@AliasFor("value") String name
The name of the request header to bind to.

Since:
  4.2

Default:
  ""

### required

boolean required
Whether the header is required.

Defaults to `true`, leading to an exception being thrown if the header is missing in the request. Switch this to `false` if you prefer a `null` value if the header is not present in the request.

Alternatively, provide a `defaultValue()`, which implicitly sets this flag to `false`.

Default:
  true

### defaultValue

String defaultValue
The default value to use as a fallback.

Supplying a default value implicitly sets `required()` to `false`.

Default:
  "\n\t\t\n\t\t\n\ue000\ue001\ue002\n\t\t\t\t\n"