diff --git a/graphql-webclient/src/main/java/graphql/kickstart/spring/webclient/boot/GraphQLResponse.java b/graphql-webclient/src/main/java/graphql/kickstart/spring/webclient/boot/GraphQLResponse.java index 72d9bee..4bcbe47 100644 --- a/graphql-webclient/src/main/java/graphql/kickstart/spring/webclient/boot/GraphQLResponse.java +++ b/graphql-webclient/src/main/java/graphql/kickstart/spring/webclient/boot/GraphQLResponse.java @@ -21,6 +21,8 @@ public class GraphQLResponse { public static final String ERRORS_FIELD = "errors"; + @Getter + private final String rawResponse; private final JsonNode data; @Getter private final List errors; @@ -29,6 +31,7 @@ public class GraphQLResponse { private ReadContext readContext; GraphQLResponse(String rawResponse, ObjectMapper objectMapper) { + this.rawResponse = rawResponse; this.objectMapper = objectMapper; JsonNode tree = readTree(rawResponse); diff --git a/graphql-webclient/src/test/java/graphql/kickstart/spring/webclient/boot/GraphQLResponseTest.java b/graphql-webclient/src/test/java/graphql/kickstart/spring/webclient/boot/GraphQLResponseTest.java index 6c0b0a6..19cc5b8 100644 --- a/graphql-webclient/src/test/java/graphql/kickstart/spring/webclient/boot/GraphQLResponseTest.java +++ b/graphql-webclient/src/test/java/graphql/kickstart/spring/webclient/boot/GraphQLResponseTest.java @@ -101,6 +101,11 @@ void getList_dataFieldExists_returnsList() { } @Test + void getRawResponse() { + GraphQLResponse response = constructResponse("{ \"data\": null }"); + assertEquals("{ \"data\": null }", response.getRawResponse()); + } + void getAt_dataFieldExists_returnsValue() { GraphQLResponse response = constructResponse("{ \"data\": { \"field\": { \"innerField\": \"value\" } } }"); String value = response.getAt("field.innerField", String.class);