_get_openapi_operation_parameters() — fastapi Function Reference
Architecture documentation for the _get_openapi_operation_parameters() function in utils.py from the fastapi codebase.
Entity Profile
Dependency Diagram
graph TD affeac09_7707_a8d9_d9a7_6ca9b7066460["_get_openapi_operation_parameters()"] 0dcb823f_ea0d_bd04_752b_a3a3f875bba1["utils.py"] affeac09_7707_a8d9_d9a7_6ca9b7066460 -->|defined in| 0dcb823f_ea0d_bd04_752b_a3a3f875bba1 200f313e_38b9_296f_f9aa_afdeacb6b8ad["get_openapi_path()"] 200f313e_38b9_296f_f9aa_afdeacb6b8ad -->|calls| affeac09_7707_a8d9_d9a7_6ca9b7066460 df2bd000_d29c_ac4b_5eca_426e3122a385["get_flat_dependant()"] affeac09_7707_a8d9_d9a7_6ca9b7066460 -->|calls| df2bd000_d29c_ac4b_5eca_426e3122a385 c37f239e_d34d_5c2b_ce28_2b7463c61051["_get_flat_fields_from_params()"] affeac09_7707_a8d9_d9a7_6ca9b7066460 -->|calls| c37f239e_d34d_5c2b_ce28_2b7463c61051 0f3cd5cf_3aea_6cfe_477e_4813f1243d25["get_validation_alias()"] affeac09_7707_a8d9_d9a7_6ca9b7066460 -->|calls| 0f3cd5cf_3aea_6cfe_477e_4813f1243d25 1ac1bc37_1a47_e7e2_9156_ab0473094700["jsonable_encoder()"] affeac09_7707_a8d9_d9a7_6ca9b7066460 -->|calls| 1ac1bc37_1a47_e7e2_9156_ab0473094700 style affeac09_7707_a8d9_d9a7_6ca9b7066460 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
fastapi/openapi/utils.py lines 108–178
def _get_openapi_operation_parameters(
*,
dependant: Dependant,
model_name_map: ModelNameMap,
field_mapping: dict[
tuple[ModelField, Literal["validation", "serialization"]], dict[str, Any]
],
separate_input_output_schemas: bool = True,
) -> list[dict[str, Any]]:
parameters = []
flat_dependant = get_flat_dependant(dependant, skip_repeats=True)
path_params = _get_flat_fields_from_params(flat_dependant.path_params)
query_params = _get_flat_fields_from_params(flat_dependant.query_params)
header_params = _get_flat_fields_from_params(flat_dependant.header_params)
cookie_params = _get_flat_fields_from_params(flat_dependant.cookie_params)
parameter_groups = [
(ParamTypes.path, path_params),
(ParamTypes.query, query_params),
(ParamTypes.header, header_params),
(ParamTypes.cookie, cookie_params),
]
default_convert_underscores = True
if len(flat_dependant.header_params) == 1:
first_field = flat_dependant.header_params[0]
if lenient_issubclass(first_field.field_info.annotation, BaseModel):
default_convert_underscores = getattr(
first_field.field_info, "convert_underscores", True
)
for param_type, param_group in parameter_groups:
for param in param_group:
field_info = param.field_info
# field_info = cast(Param, field_info)
if not getattr(field_info, "include_in_schema", True):
continue
param_schema = get_schema_from_model_field(
field=param,
model_name_map=model_name_map,
field_mapping=field_mapping,
separate_input_output_schemas=separate_input_output_schemas,
)
name = get_validation_alias(param)
convert_underscores = getattr(
param.field_info,
"convert_underscores",
default_convert_underscores,
)
if (
param_type == ParamTypes.header
and name == param.name
and convert_underscores
):
name = param.name.replace("_", "-")
parameter = {
"name": name,
"in": param_type.value,
"required": param.field_info.is_required(),
"schema": param_schema,
}
if field_info.description:
parameter["description"] = field_info.description
openapi_examples = getattr(field_info, "openapi_examples", None)
example = getattr(field_info, "example", None)
if openapi_examples:
parameter["examples"] = jsonable_encoder(openapi_examples)
elif example != Undefined:
parameter["example"] = jsonable_encoder(example)
if getattr(field_info, "deprecated", None):
parameter["deprecated"] = True
parameters.append(parameter)
return parameters
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does _get_openapi_operation_parameters() do?
_get_openapi_operation_parameters() is a function in the fastapi codebase, defined in fastapi/openapi/utils.py.
Where is _get_openapi_operation_parameters() defined?
_get_openapi_operation_parameters() is defined in fastapi/openapi/utils.py at line 108.
What does _get_openapi_operation_parameters() call?
_get_openapi_operation_parameters() calls 4 function(s): _get_flat_fields_from_params, get_flat_dependant, get_validation_alias, jsonable_encoder.
What calls _get_openapi_operation_parameters()?
_get_openapi_operation_parameters() is called by 1 function(s): get_openapi_path.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free