Skip to content

Commit 1fa2f05

Browse files
committed
fix for #44: replace invalid json schema chars with _
1 parent 5b4fe4e commit 1fa2f05

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

openapi_pydantic/util.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
import re
23
from typing import Any, Dict, Generic, List, Optional, Set, Type, TypeVar, cast
34

45
from pydantic import BaseModel
@@ -170,6 +171,9 @@ def _traverse(obj: Any) -> None:
170171

171172

172173
def _construct_ref_obj(pydantic_schema: PydanticSchema[PydanticType]) -> Reference:
173-
ref_obj = Reference(**{"$ref": ref_prefix + pydantic_schema.schema_class.__name__})
174+
ref_name = re.sub(
175+
r"[^a-zA-Z0-9.\-_]", "_", pydantic_schema.schema_class.__name__
176+
).replace(".", "__")
177+
ref_obj = Reference(**{"$ref": ref_prefix + ref_name})
174178
logger.debug(f"ref_obj={ref_obj}")
175179
return ref_obj

0 commit comments

Comments
 (0)