File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed
plugins/client/graphql-kotlin-client-generator/src/main/kotlin/com/expediagroup/graphql/plugin/client/generator/types Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change 17
17
package com.expediagroup.graphql.plugin.client.generator.types
18
18
19
19
import com.expediagroup.graphql.plugin.client.generator.GraphQLClientGeneratorContext
20
+ import com.expediagroup.graphql.plugin.client.generator.GraphQLSerializer
20
21
import com.expediagroup.graphql.plugin.client.generator.ScalarConverterInfo
21
22
import com.expediagroup.graphql.plugin.client.generator.exceptions.DeprecatedFieldsSelectedException
22
23
import com.expediagroup.graphql.plugin.client.generator.exceptions.InvalidSelectionSetException
23
24
import com.expediagroup.graphql.plugin.client.generator.exceptions.MissingArgumentException
25
+ import com.fasterxml.jackson.annotation.JsonProperty
24
26
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
25
27
import com.fasterxml.jackson.databind.annotation.JsonSerialize
26
28
import com.squareup.kotlinpoet.AnnotationSpec
@@ -96,6 +98,16 @@ internal fun generatePropertySpecs(
96
98
fieldDefinition.description?.content?.let { kdoc ->
97
99
propertySpecBuilder.addKdoc(" %L" , kdoc)
98
100
}
101
+ if (context.serializer == GraphQLSerializer .JACKSON ) {
102
+ // always add @get:JsonProperty annotation as a workaround to Jackson limitations
103
+ // related to JavaBean naming conventions
104
+ propertySpecBuilder.addAnnotation(
105
+ AnnotationSpec .builder(JsonProperty ::class )
106
+ .useSiteTarget(AnnotationSpec .UseSiteTarget .GET )
107
+ .addMember(" value = \" $fieldName \" " )
108
+ .build()
109
+ )
110
+ }
99
111
propertySpecBuilder.build()
100
112
}
101
113
You can’t perform that action at this time.
0 commit comments