@@ -4,10 +4,7 @@ import graphql.Scalars
44import graphql.kickstart.tools.ResolverInfo
55import graphql.kickstart.tools.RootResolverInfo
66import graphql.kickstart.tools.SchemaParserOptions
7- import graphql.kickstart.tools.util.GraphQLLangType
8- import graphql.kickstart.tools.util.JavaType
9- import graphql.kickstart.tools.util.declaredNonProxyMethods
10- import graphql.kickstart.tools.util.unwrap
7+ import graphql.kickstart.tools.util.*
118import graphql.language.FieldDefinition
129import graphql.language.TypeName
1310import graphql.schema.DataFetchingEnvironment
@@ -83,6 +80,7 @@ internal class FieldResolverScanner(val options: SchemaParserOptions) {
8380 // 2. Method that returns a boolean with "is" style getter
8481 // 3. Method with "get" style getter
8582 // 4. Method with "getField" style getter
83+ // 5. Method with "get" style getter with the field name converted from snake_case to camelCased. ex: key_ops -> getKeyOps()
8684 return methods.find {
8785 it.name == name && verifyMethodArguments(it, argumentCount, search)
8886 } ? : methods.find {
@@ -91,6 +89,8 @@ internal class FieldResolverScanner(val options: SchemaParserOptions) {
9189 it.name == " get${name.capitalize()} " && verifyMethodArguments(it, argumentCount, search)
9290 } ? : methods.find {
9391 it.name == " getField${name.capitalize()} " && verifyMethodArguments(it, argumentCount, search)
92+ } ? : methods.find {
93+ it.name == " get${name.snakeToCamelCase()} " && verifyMethodArguments(it, argumentCount, search)
9494 }
9595 }
9696
0 commit comments