From 3fc447e50d6808b6c48dba0d01371e37a361b7ee Mon Sep 17 00:00:00 2001 From: Koen Punt Date: Thu, 30 Dec 2021 12:20:21 +0100 Subject: [PATCH] Allow null values to async handler methods Previously when the argument contained a null value (for example for nullified continuation when using a suspend fun), it would fail to convert the arguments, because of a `NullPointerException`. By allowing the mono value be nullable it converts the arguments successfully. Closes gh-239 --- .../graphql/data/method/InvocableHandlerMethodSupport.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-graphql/src/main/java/org/springframework/graphql/data/method/InvocableHandlerMethodSupport.java b/spring-graphql/src/main/java/org/springframework/graphql/data/method/InvocableHandlerMethodSupport.java index 58991fa0..bb0f86a3 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/data/method/InvocableHandlerMethodSupport.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/data/method/InvocableHandlerMethodSupport.java @@ -96,7 +96,7 @@ public abstract class InvocableHandlerMethodSupport extends HandlerMethod { List> monoList = Arrays.stream(args) .map(arg -> { - Mono argMono = (arg instanceof Mono ? (Mono) arg : Mono.just(arg)); + Mono argMono = (arg instanceof Mono ? (Mono) arg : Mono.justOrEmpty(arg)); return argMono.defaultIfEmpty(NO_VALUE); }) .collect(Collectors.toList());