Skip to main content

request_params_to_args

Maps and validates incoming request parameters, such as query strings or headers, into a dictionary of arguments and a list of validation errors based on provided model fields. It handles special cases like Pydantic model extraction, header underscore conversion, and multi-value parameter processing.

def request_params_to_args(
fields: Sequence[ModelField],
received_params: Mapping[str, Any] | QueryParams | Headers
) - > tuple[dict[str, Any], list[Any]]

Extracts and validates values from raw request parameters (like query strings or headers) based on a sequence of model fields. This function handles alias mapping, underscore-to-dash conversion for headers, and nested Pydantic model extraction to prepare data for dependency injection or route handlers.

Parameters

NameTypeDescription
fieldsSequence[ModelField]A sequence of Pydantic model fields representing the expected structure and validation rules for the incoming parameters.
received_params`Mapping[str, Any]QueryParams

Returns

TypeDescription
tuple[dict[str, Any], list[Any]]A tuple containing a dictionary of validated field values keyed by their internal names and a list of any validation errors encountered.