Skip to main content

Query

Defines a query parameter for a FastAPI path operation, allowing for the configuration of metadata, validation constraints, and OpenAPI schema documentation. It supports various validations such as string length, numeric ranges, and regex patterns while providing options for aliases and deprecation status.

def Query(
default: Any = Undefined,
default_factory: Callable[[], Any] | None = _Unset,
alias: str | None = null,
alias_priority: int | None = _Unset,
validation_alias: str | AliasPath | AliasChoices | None = null,
serialization_alias: str | None = null,
title: str | None = null,
description: str | None = null,
gt: float | None = null,
ge: float | None = null,
lt: float | None = null,
le: float | None = null,
min_length: int | None = null,
max_length: int | None = null,
pattern: str | None = null,
regex: str | None = null,
discriminator: str | None = null,
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 = null,
example: Any | None = _Unset,
openapi_examples: dict[str, Example] | None = null,
deprecated: deprecated | str | bool | None = null,
include_in_schema: bool = true,
json_schema_extra: dict[str, Any] | None = null
) - > Any

Declares a query parameter for an API endpoint, providing metadata and validation rules for incoming request data.

Parameters

NameTypeDescription
defaultAny = UndefinedThe default value to use if the query parameter is not provided in the request.
default_factory`Callable[[], Any]None` = _Unset
alias`strNone` = null
alias_priority`intNone` = _Unset
validation_alias`strAliasPath
serialization_alias`strNone` = null
title`strNone` = null
description`strNone` = null
gt`floatNone` = null
ge`floatNone` = null
lt`floatNone` = null
le`floatNone` = null
min_length`intNone` = null
max_length`intNone` = null
pattern`strNone` = null
regex`strNone` = null
discriminator`strNone` = null
strict`boolNone` = _Unset
multiple_of`floatNone` = _Unset
allow_inf_nan`boolNone` = _Unset
max_digits`intNone` = _Unset
decimal_places`intNone` = _Unset
examples`list[Any]None` = null
example`AnyNone` = _Unset
openapi_examples`dict[str, Example]None` = null
deprecated`deprecatedstr
include_in_schemabool = trueControls whether this parameter is visible in the generated OpenAPI documentation.
json_schema_extra`dict[str, Any]None` = null

Returns

TypeDescription
AnyA parameter metadata object used by FastAPI to handle query string extraction and validation.