Header
This class defines a parameter to be extracted from HTTP request headers, supporting validation, documentation, and metadata configuration. It extends the base parameter functionality with specific support for automatic underscore-to-hyphen conversion and OpenAPI schema integration. Users can specify constraints such as length, patterns, and default values for header-based data extraction.
Attributes
| Attribute | Type | Description |
|---|---|---|
| in_ | [ParamTypes](paramtypes.md?sid=fastapi_params_paramtypes) = ParamTypes.header | The location of the parameter in the request, which is fixed to the header for this class. |
| convert_underscores | bool = True | Whether to automatically convert underscores in the attribute name to hyphens when looking up the header value. |
Constructor
Signature
def Header(
default: Any = Undefined,
default_factory: Callable[[], Any]| None = _Unset,
annotation: Any | None = None,
alias: str | None = None,
alias_priority: int | None = _Unset,
validation_alias: str | AliasPath | AliasChoices | None = None,
serialization_alias: str | None = None,
convert_underscores: bool = True,
title: str | None = None,
description: str | None = None,
gt: float | None = None,
ge: float | None = None,
lt: float | None = None,
le: float | None = None,
min_length: int | None = None,
max_length: int | None = None,
pattern: str | None = None,
regex: str | None = None,
discriminator: str | None = None,
strict: bool | None = _Unset,
multiple_of: float | None = _Unset,
allow_inf_nan: bool | None = _Unset,
max_digits: int | None = _Unset,
decimal_places: int | None = _Unset,
examples: list[Any]| None = None,
example: Any | None = _Unset,
openapi_examples: dict[str, [Example](../openapi/models/example.md?sid=fastapi_openapi_models_example)]| None = None,
deprecated: deprecated | str | bool | None = None,
include_in_schema: bool = True,
json_schema_extra: dict[str, Any]| None = None,
**extra: Any
) - > null
Parameters
| Name | Type | Description |
|---|---|---|
| default | Any = Undefined | The default value for the header. |
| default_factory | `Callable[[], Any] | None` = _Unset |
| annotation | `Any | None` = None |
| alias | `str | None` = None |
| alias_priority | `int | None` = _Unset |
| validation_alias | `str | AliasPath |
| serialization_alias | `str | None` = None |
| convert_underscores | bool = True | Whether to automatically convert underscores to hyphens in the header name. |
| title | `str | None` = None |
| description | `str | None` = None |
| gt | `float | None` = None |
| ge | `float | None` = None |
| lt | `float | None` = None |
| le | `float | None` = None |
| min_length | `int | None` = None |
| max_length | `int | None` = None |
| pattern | `str | None` = None |
| regex | `str | None` = None |
| discriminator | `str | None` = None |
| strict | `bool | None` = _Unset |
| multiple_of | `float | None` = _Unset |
| allow_inf_nan | `bool | None` = _Unset |
| max_digits | `int | None` = _Unset |
| decimal_places | `int | None` = _Unset |
| examples | `list[Any] | None` = None |
| example | `Any | None` = _Unset |
| openapi_examples | `dict[str, Example] | None` = None |
| deprecated | `deprecated | str |
| include_in_schema | bool = True | Whether to include this parameter in the generated OpenAPI schema. |
| json_schema_extra | `dict[str, Any] | None` = None |
| **extra | Any | Additional keyword arguments. |
Signature
def Header(
default: Any = Undefined,
default_factory: Callable[[], Any]| None = _Unset,
annotation: Any | None = None,
alias: str | None = None,
alias_priority: int | None = _Unset,
validation_alias: str | AliasPath | AliasChoices | None = None,
serialization_alias: str | None = None,
convert_underscores: bool = True,
title: str | None = None,
description: str | None = None,
gt: float | None = None,
ge: float | None = None,
lt: float | None = None,
le: float | None = None,
min_length: int | None = None,
max_length: int | None = None,
pattern: str | None = None,
regex: str | None = None,
discriminator: str | None = None,
strict: bool | None = _Unset,
multiple_of: float | None = _Unset,
allow_inf_nan: bool | None = _Unset,
max_digits: int | None = _Unset,
decimal_places: int | None = _Unset,
examples: list[Any]| None = None,
example: Any | None = _Unset,
openapi_examples: dict[str, [Example](../openapi/models/example.md?sid=fastapi_openapi_models_example)]| None = None,
deprecated: deprecated | str | bool | None = None,
include_in_schema: bool = True,
json_schema_extra: dict[str, Any]| None = None,
extra: Any
) - > null
Parameters
| Name | Type | Description |
|---|---|---|
| default | Any = Undefined | The default value for the header if it is not provided in the request. |
| default_factory | `Callable[[], Any] | None` = _Unset |
| annotation | `Any | None` = None |
| alias | `str | None` = None |
| alias_priority | `int | None` = _Unset |
| validation_alias | `str | AliasPath |
| serialization_alias | `str | None` = None |
| convert_underscores | bool = True | Whether to automatically convert underscores in the parameter name to hyphens (e.g., user_agent to User-Agent). |
| title | `str | None` = None |
| description | `str | None` = None |
| gt | `float | None` = None |
| ge | `float | None` = None |
| lt | `float | None` = None |
| le | `float | None` = None |
| min_length | `int | None` = None |
| max_length | `int | None` = None |
| pattern | `str | None` = None |
| regex | `str | None` = None |
| discriminator | `str | None` = None |
| strict | `bool | None` = _Unset |
| multiple_of | `float | None` = _Unset |
| allow_inf_nan | `bool | None` = _Unset |
| max_digits | `int | None` = _Unset |
| decimal_places | `int | None` = _Unset |
| examples | `list[Any] | None` = None |
| example | `Any | None` = _Unset |
| openapi_examples | `dict[str, Example] | None` = None |
| deprecated | `deprecated | str |
| include_in_schema | bool = True | Whether this header should be visible in the generated OpenAPI schema. |
| json_schema_extra | `dict[str, Any] | None` = None |
| extra | Any | Additional keyword arguments passed to the underlying Pydantic model. |