diff --git a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/BatchLoaderHandlerMethod.java b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/BatchLoaderHandlerMethod.java index 17f6f457..f6923390 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/BatchLoaderHandlerMethod.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/data/method/annotation/support/BatchLoaderHandlerMethod.java @@ -86,7 +86,8 @@ public class BatchLoaderHandlerMethod extends InvocableHandlerMethodSupport { return result; } - public Object resolveArgument( + @Nullable + private Object resolveArgument( MethodParameter parameter, Collection keys, BatchLoaderEnvironment environment) { Class parameterType = parameter.getParameterType(); @@ -100,12 +101,15 @@ public class BatchLoaderHandlerMethod extends InvocableHandlerMethodSupport { collection.addAll(keys); return collection; } - - if (parameterType.isInstance(environment)) { + else if (parameterType.isInstance(environment)) { return environment; } - - throw new IllegalStateException(formatArgumentError(parameter, "Unexpected argument type.")); + else if ("kotlin.coroutines.Continuation".equals(parameterType.getName())) { + return null; + } + else { + throw new IllegalStateException(formatArgumentError(parameter, "Unexpected argument type.")); + } } }