Skip to content

Commit 4399578

Browse files
fix(formatter): use primitive type instead of schema name in get_response_type (#3723)
When a named component schema has a primitive type (e.g. type: string), get_response_type() used schema_name() directly, emitting the schema name as a class type and adding a model import — but no class is generated for primitive schemas, causing a compile error in generated examples. Fix: check simple_type() first; if the schema resolves to a primitive, use that type and suppress the model import. Consistent with how type_to_java() already guards against this case. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 49ec47c commit 4399578

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

.generator/src/generator/formatter.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -692,11 +692,15 @@ def get_response_type(schema, version):
692692
else:
693693
api_response_type = f"List<{simple_type(nested_schema)}>"
694694
else:
695+
primitive = simple_type(response_schema)
695696
name = schema_name(response_schema)
696-
if name:
697+
if name and not primitive:
697698
api_response_type = name
698699
else:
699-
api_response_type = simple_type(response_schema)
700+
# Named primitive schemas (e.g. type: string) don't produce a class —
701+
# use the primitive type directly and suppress the model import.
702+
api_response_type = primitive
703+
name = None
700704

701705
if name:
702706
return api_response_type, f"com.datadog.api.client.{version}.model.{name}"

0 commit comments

Comments
 (0)