@@ -508,7 +508,7 @@ def _get_model_name(cls, path_name: str, method: str, suffix: str) -> str:
508508 camel_path_name = snake_to_upper_camel (normalized )
509509 return f"{ camel_path_name } { method .capitalize ()} { suffix } "
510510
511- def parse_all_parameters ( # noqa: PLR0912, PLR0914
511+ def parse_all_parameters ( # noqa: PLR0912, PLR0914, PLR0915
512512 self ,
513513 name : str ,
514514 parameters : list [ReferenceObject | ParameterObject ],
@@ -541,10 +541,13 @@ def parse_all_parameters( # noqa: PLR0912, PLR0914
541541 class_name = name ,
542542 )
543543 if parameter .schema_ :
544+ param_schema = parameter .schema_
545+ if param_schema .has_ref_with_schema_keywords and not param_schema .is_ref_with_nullable_only :
546+ param_schema = self ._merge_ref_with_schema (param_schema )
544547 effective_default , effective_has_default = self .model_resolver .resolve_default_value (
545548 parameter_name ,
546- parameter . schema_ .default ,
547- parameter . schema_ .has_default ,
549+ param_schema .default ,
550+ param_schema .has_default ,
548551 class_name = reference .name ,
549552 )
550553 effective_required = parameter .required
@@ -553,8 +556,8 @@ def parse_all_parameters( # noqa: PLR0912, PLR0914
553556 fields .append (
554557 self .get_object_field (
555558 field_name = field_name ,
556- field = parameter . schema_ ,
557- field_type = self .parse_item (field_name , parameter . schema_ , [* path , name , parameter_name ]),
559+ field = param_schema ,
560+ field_type = self .parse_item (field_name , param_schema , [* path , name , parameter_name ]),
558561 original_field_name = parameter_name ,
559562 required = effective_required ,
560563 alias = alias ,
0 commit comments