diff --git a/fastapi/dependencies/utils.py b/fastapi/dependencies/utils.py index 84dfa4d03..83a7a44c5 100644 --- a/fastapi/dependencies/utils.py +++ b/fastapi/dependencies/utils.py @@ -212,11 +212,14 @@ def get_flat_dependant( def _get_flat_fields_from_params(fields: List[ModelField]) -> List[ModelField]: if not fields: return fields - first_field = fields[0] - if len(fields) == 1 and lenient_issubclass(first_field.type_, BaseModel): - fields_to_extract = get_cached_model_fields(first_field.type_) - return fields_to_extract - return fields + result = [] + for field in fields: + if lenient_issubclass(field.type_, BaseModel): + fields_to_extract = get_cached_model_fields(field.type_) + result.extend(fields_to_extract) + else: + result.append(field) + return result def get_flat_params(dependant: Dependant) -> List[ModelField]: