fix: make backslash work in GET /models/{model_id:path} (#1068)

This commit is contained in:
Xi Yan 2025-02-13 08:46:43 -08:00 committed by GitHub
parent 47fccf0d03
commit 2fa9e3c941
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 32 additions and 24 deletions

View file

@ -644,7 +644,9 @@ class Generator:
else:
callbacks = None
description = "\n".join(filter(None, [doc_string.short_description, doc_string.long_description]))
description = "\n".join(
filter(None, [doc_string.short_description, doc_string.long_description])
)
return Operation(
tags=[op.defining_class.__name__],
summary=None,
@ -681,6 +683,7 @@ class Generator:
raise NotImplementedError(f"unknown HTTP method: {op.http_method}")
route = op.get_route()
route = route.replace(":path", "")
print(f"route: {route}")
if route in paths:
paths[route].update(pathItem)

View file

@ -130,6 +130,8 @@ class _FormatParameterExtractor:
def _get_route_parameters(route: str) -> List[str]:
extractor = _FormatParameterExtractor()
# Replace all occurrences of ":path" with empty string
route = route.replace(":path", "")
route.format_map(extractor)
return extractor.keys