-
-
Notifications
You must be signed in to change notification settings - Fork 114
Closed
Description
Issue Description
I am currently writing a client for an API which has a response field called "native".
This is a reserved name in Java, and the codegen renames all methods with uppercase first letters (Which is great).
However, when creating a ResponseProjection with said field, the fieldname also has an uppercase first letter.
This breaks when actually executing since the field has the wrong name.
When changing the name in the GraphQLResponseField constructor to a lowercase first letter everything works.
(No change to method names etc.)
Steps to Reproduce
Generate client code for a type which contains a reserved name:
type MediaTitle {
native(stylised: Boolean): String
}Expected Result
Uppercase Method names and lowercase name in GraphQLResponseField Constructor.
public MediaTitleResponseProjection Native() {
return Native((String)null);
}
public MediaTitleResponseProjection Native(String alias) {
fields.add(new GraphQLResponseField("native").alias(alias));
return this;
}
public MediaTitleResponseProjection Native(MediaTitleNativeParametrizedInput input) {
return Native(null, input);
}
public MediaTitleResponseProjection Native(String alias, MediaTitleNativeParametrizedInput input) {
fields.add(new GraphQLResponseField("native").alias(alias).parameters(input));
return this;
}Actual Result
Uppercase Method names and uppercase name in GraphQLResponseField Constructor.
public MediaTitleResponseProjection Native() {
return Native((String)null);
}
public MediaTitleResponseProjection Native(String alias) {
fields.add(new GraphQLResponseField("Native").alias(alias));
return this;
}
public MediaTitleResponseProjection Native(MediaTitleNativeParametrizedInput input) {
return Native(null, input);
}
public MediaTitleResponseProjection Native(String alias, MediaTitleNativeParametrizedInput input) {
fields.add(new GraphQLResponseField("Native").alias(alias).parameters(input));
return this;
}Your Environment and Setup
- graphql-java-codegen: 2.2.0
- Build tool: Maven
- Java tool: Oracle 8u241
<configuration>
<graphqlSchemaPaths>
<graphqlSchemaPath>${project.basedir}/src/main/resources/schema.graphql</graphqlSchemaPath>
</graphqlSchemaPaths>
<outputDir>${project.build.directory}/generated-sources/client</outputDir>
<modelPackageName>(...).graphql.model</modelPackageName>
<customTypesMapping>
<CustomDate>(...).graphql.CustomDate</CustomDate>
<CountryCode>com.neovisionaries.i18n.CountryCode</CountryCode>
</customTypesMapping>
<generateClient>true</generateClient>
<generateApis>false</generateApis>
<generateExtensionFieldsResolvers>false</generateExtensionFieldsResolvers>
<generateParameterizedFieldsResolvers>false</generateParameterizedFieldsResolvers>
<generateBuilder>true</generateBuilder>
<generateEqualsAndHashCode>true</generateEqualsAndHashCode>
<generateToString>true</generateToString>
</configuration>Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working