fix: generate deterministic operationId for root endpoints without one (#19888)

This commit is contained in:
Hao Cheng
2025-07-15 14:19:55 +08:00
committed by GitHub
parent 7e666dc3b1
commit 32c541a9ed
3 changed files with 57 additions and 2 deletions

View File

@@ -1,5 +1,4 @@
import re
import uuid
from json import dumps as json_dumps
from json import loads as json_loads
from json.decoder import JSONDecodeError
@@ -154,7 +153,7 @@ class ApiBasedToolSchemaParser:
# remove special characters like / to ensure the operation id is valid ^[a-zA-Z0-9_-]{1,64}$
path = re.sub(r"[^a-zA-Z0-9_-]", "", path)
if not path:
path = str(uuid.uuid4())
path = "<root>"
interface["operation"]["operationId"] = f"{path}_{interface['method']}"