From 4ec73bb047264cc8ff7cc412b8d2f6ce7690bafa Mon Sep 17 00:00:00 2001 From: Brandon Sara Date: Thu, 29 Nov 2018 13:34:55 -0700 Subject: [PATCH] forcing jackson mapper to have a default property inclusion of 'ALWAYS' because GraphQL should always include all requested properties by default (fixes #135) --- src/main/java/graphql/servlet/GraphQLObjectMapper.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/graphql/servlet/GraphQLObjectMapper.java b/src/main/java/graphql/servlet/GraphQLObjectMapper.java index 142643b0..2fb955a3 100644 --- a/src/main/java/graphql/servlet/GraphQLObjectMapper.java +++ b/src/main/java/graphql/servlet/GraphQLObjectMapper.java @@ -1,5 +1,6 @@ package graphql.servlet; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.MappingIterator; @@ -43,8 +44,10 @@ public ObjectMapper getJacksonMapper() { if (result == null) { // First check (no locking) synchronized(this) { result = mapper; - if (result == null) // Second check (with locking) - mapper = result = objectMapperProvider.provide(); + if (result == null) { // Second check (with locking) + mapper = result = objectMapperProvider.provide().copy(); + mapper.setDefaultPropertyInclusion(JsonInclude.Include.ALWAYS); + } } }