diff --git a/end_to_end_tests/fastapi_app/openapi.json b/end_to_end_tests/fastapi_app/openapi.json index e9682a8d5..22cd8e672 100644 --- a/end_to_end_tests/fastapi_app/openapi.json +++ b/end_to_end_tests/fastapi_app/openapi.json @@ -535,6 +535,7 @@ "some_dict": { "title": "Some Dict", "type": "object", + "nullable": true, "additionalProperties": { "type": "string" } @@ -631,4 +632,4 @@ } } } -} \ No newline at end of file +} diff --git a/end_to_end_tests/golden-record/my_test_api_client/models/a_model.py b/end_to_end_tests/golden-record/my_test_api_client/models/a_model.py index fec9fa034..489f5f83c 100644 --- a/end_to_end_tests/golden-record/my_test_api_client/models/a_model.py +++ b/end_to_end_tests/golden-record/my_test_api_client/models/a_model.py @@ -13,7 +13,7 @@ class AModel: """ A Model for testing all the ways custom objects can be used """ an_enum_value: AnEnum - some_dict: Dict[Any, Any] + some_dict: Optional[Dict[Any, Any]] a_camel_date_time: Union[datetime.datetime, datetime.date] a_date: datetime.date nested_list_of_enums: Optional[List[List[DifferentEnum]]] = None diff --git a/openapi_python_client/parser/properties.py b/openapi_python_client/parser/properties.py index cbd722d5b..8c358841f 100644 --- a/openapi_python_client/parser/properties.py +++ b/openapi_python_client/parser/properties.py @@ -63,7 +63,7 @@ def get_imports(self, *, prefix: str) -> Set[str]: Args: prefix: A prefix to put before any relative (local) module names. """ - if not self.required: + if self.nullable or not self.required: return {"from typing import Optional"} return set()