From ddc3a1503c00a142ce3363250bbbede84ca209ad Mon Sep 17 00:00:00 2001 From: rstoyanchev Date: Thu, 28 Apr 2022 20:52:07 +0100 Subject: [PATCH] FieldAccessException falls back on request errors A field may be missing not only due to field errors but also due to a failed request, so the error message should show either, whichever is not empty. Closes gh-348 --- .../graphql/client/FieldAccessException.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/spring-graphql/src/main/java/org/springframework/graphql/client/FieldAccessException.java b/spring-graphql/src/main/java/org/springframework/graphql/client/FieldAccessException.java index da5eb8f1..502f8565 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/client/FieldAccessException.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/client/FieldAccessException.java @@ -43,13 +43,14 @@ public class FieldAccessException extends GraphQlClientException { public FieldAccessException( ClientGraphQlRequest request, ClientGraphQlResponse response, ClientResponseField field) { - super(initDefaultMessage(field), null, request); + super(initDefaultMessage(field, response), null, request); this.response = response; this.field = field; } - private static String initDefaultMessage(ClientResponseField field) { - return "Invalid field '" + field.getPath() + "', errors: " + field.getErrors(); + private static String initDefaultMessage(ClientResponseField field, ClientGraphQlResponse response) { + return "Invalid field '" + field.getPath() + "', errors: " + + (!field.getErrors().isEmpty() ? field.getErrors() : response.getErrors()); }