diff --git a/graphql-java-kickstart/src/main/java/graphql/kickstart/execution/subscriptions/GraphQLSubscriptionMapper.java b/graphql-java-kickstart/src/main/java/graphql/kickstart/execution/subscriptions/GraphQLSubscriptionMapper.java index 1e4c8459..f7ec4d49 100644 --- a/graphql-java-kickstart/src/main/java/graphql/kickstart/execution/subscriptions/GraphQLSubscriptionMapper.java +++ b/graphql-java-kickstart/src/main/java/graphql/kickstart/execution/subscriptions/GraphQLSubscriptionMapper.java @@ -4,7 +4,9 @@ import graphql.ExecutionResult; import graphql.kickstart.execution.GraphQLObjectMapper; import graphql.kickstart.execution.GraphQLRequest; +import java.io.IOException; import java.util.Map; +import java.util.Objects; import lombok.RequiredArgsConstructor; @RequiredArgsConstructor @@ -13,7 +15,12 @@ public class GraphQLSubscriptionMapper { private final GraphQLObjectMapper graphQLObjectMapper; public GraphQLRequest readGraphQLRequest(Object payload) { - return graphQLObjectMapper.getJacksonMapper().convertValue(payload, GraphQLRequest.class); + Objects.requireNonNull(payload, "Payload is required"); + try { + return graphQLObjectMapper.readGraphQLRequest(payload.toString()); + } catch (IOException e) { + throw new RuntimeException(e); + } } public ExecutionResult sanitizeErrors(ExecutionResult executionResult) { diff --git a/graphql-java-kickstart/src/main/java/graphql/kickstart/execution/subscriptions/apollo/SubscriptionStartCommand.java b/graphql-java-kickstart/src/main/java/graphql/kickstart/execution/subscriptions/apollo/SubscriptionStartCommand.java index e7d0db3f..98f23357 100644 --- a/graphql-java-kickstart/src/main/java/graphql/kickstart/execution/subscriptions/apollo/SubscriptionStartCommand.java +++ b/graphql-java-kickstart/src/main/java/graphql/kickstart/execution/subscriptions/apollo/SubscriptionStartCommand.java @@ -10,7 +10,6 @@ import graphql.kickstart.execution.subscriptions.GraphQLSubscriptionMapper; import graphql.kickstart.execution.subscriptions.SubscriptionSession; import java.util.Collection; -import java.util.Objects; import java.util.concurrent.CompletableFuture; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -33,7 +32,6 @@ public void apply(SubscriptionSession session, OperationMessage message) { } private CompletableFuture executeAsync(Object payload, SubscriptionSession session) { - Objects.requireNonNull(payload, "Payload is required"); GraphQLRequest graphQLRequest = mapper.readGraphQLRequest(payload); GraphQLSingleInvocationInput invocationInput = invocationInputFactory.create(graphQLRequest, session); diff --git a/graphql-java-servlet/src/main/java/graphql/kickstart/servlet/subscriptions/FallbackSubscriptionConsumer.java b/graphql-java-servlet/src/main/java/graphql/kickstart/servlet/subscriptions/FallbackSubscriptionConsumer.java index 81bd69bd..d195ac1c 100644 --- a/graphql-java-servlet/src/main/java/graphql/kickstart/servlet/subscriptions/FallbackSubscriptionConsumer.java +++ b/graphql-java-servlet/src/main/java/graphql/kickstart/servlet/subscriptions/FallbackSubscriptionConsumer.java @@ -7,7 +7,6 @@ import graphql.kickstart.execution.subscriptions.GraphQLSubscriptionInvocationInputFactory; import graphql.kickstart.execution.subscriptions.GraphQLSubscriptionMapper; import graphql.kickstart.execution.subscriptions.SubscriptionSession; -import java.util.Objects; import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; @@ -31,7 +30,6 @@ public void accept(String text) { } private CompletableFuture executeAsync(Object payload, SubscriptionSession session) { - Objects.requireNonNull(payload, "Payload is required"); GraphQLRequest graphQLRequest = mapper.readGraphQLRequest(payload); GraphQLSingleInvocationInput invocationInput = invocationInputFactory.create(graphQLRequest, session);