From f5381e9f93c783d878910ce83cefd7c9a0047a37 Mon Sep 17 00:00:00 2001 From: Amit Moralwar Date: Thu, 13 Nov 2025 16:24:56 +0530 Subject: [PATCH] Update v2.py Fixed AttributeError: 'dict' object has no attribute 'split' #14344 this issue --- fastapi/_compat/v2.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/fastapi/_compat/v2.py b/fastapi/_compat/v2.py index 6a87b9ae9..af161261d 100644 --- a/fastapi/_compat/v2.py +++ b/fastapi/_compat/v2.py @@ -262,7 +262,18 @@ def _replace_refs( new_schema = deepcopy(schema) for key, value in new_schema.items(): if key == "$ref": - ref_name = schema["$ref"].split("/")[-1] + #ref_name = schema["$ref"].split("/")[-1] + ref_name = schema["$ref"] + if isinstance(ref_value, str): + # Normal case + ref_name = ref_value.split("/")[-1] + elif isinstance(ref_value, dict): + # Handle dict case + ref_name = ref_value.get("title") or "unknown_ref" + else: + # Unexpected type + ref_name = "invalid_ref" + if ref_name in old_name_to_new_name_map: new_name = old_name_to_new_name_map[ref_name] new_schema["$ref"] = REF_TEMPLATE.format(model=new_name)