diff --git a/.github/workflows/update-antora-ui-spring.yml b/.github/workflows/update-antora-ui-spring.yml index 6091232b..314ff0dc 100644 --- a/.github/workflows/update-antora-ui-spring.yml +++ b/.github/workflows/update-antora-ui-spring.yml @@ -16,7 +16,7 @@ jobs: name: Update on Supported Branches strategy: matrix: - branch: [ '1.3.x', 'main' ] + branch: [ '1.3.x', '1.4.x', 'main' ] steps: - uses: spring-io/spring-doc-actions/update-antora-spring-ui@e28269199d1d27975cf7f65e16d6095c555b3cd0 # v0.0.20 name: Update diff --git a/spring-graphql/src/main/java/org/springframework/graphql/data/ArgumentValue.java b/spring-graphql/src/main/java/org/springframework/graphql/data/ArgumentValue.java index 3f5e26ab..66e24a44 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/data/ArgumentValue.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/data/ArgumentValue.java @@ -136,6 +136,12 @@ public final class ArgumentValue { return result; } + @Override + public String toString() { + String v = ((this.value != null) ? this.value.toString() : (this.omitted) ? "omitted" : "empty"); + return "ArgumentValue[" + v + "]"; + } + /** * Static factory method for an argument value that was provided, even if diff --git a/spring-graphql/src/main/java/org/springframework/graphql/data/query/QuerydslDataFetcher.java b/spring-graphql/src/main/java/org/springframework/graphql/data/query/QuerydslDataFetcher.java index e3cc64aa..7e1ebe62 100644 --- a/spring-graphql/src/main/java/org/springframework/graphql/data/query/QuerydslDataFetcher.java +++ b/spring-graphql/src/main/java/org/springframework/graphql/data/query/QuerydslDataFetcher.java @@ -158,13 +158,14 @@ public abstract class QuerydslDataFetcher { @Nullable String prefix, Map arguments, MultiValueMap parameters) { for (Map.Entry entry : arguments.entrySet()) { + String key = ((prefix != null) ? prefix + "." : "") + entry.getKey(); Object value = entry.getValue(); if (value instanceof Map nested) { - addParameters(entry.getKey(), (Map) nested, parameters); + addParameters(key, (Map) nested, parameters); continue; } List values = (value instanceof List) ? (List) value : Collections.singletonList(value); - parameters.put(((prefix != null) ? prefix + "." : "") + entry.getKey(), values); + parameters.put(key, values); } } diff --git a/spring-graphql/src/test/java/org/springframework/graphql/data/ArgumentValueTests.java b/spring-graphql/src/test/java/org/springframework/graphql/data/ArgumentValueTests.java index fdfa4f0a..ca3ff970 100644 --- a/spring-graphql/src/test/java/org/springframework/graphql/data/ArgumentValueTests.java +++ b/spring-graphql/src/test/java/org/springframework/graphql/data/ArgumentValueTests.java @@ -80,4 +80,10 @@ class ArgumentValueTests { assertThat(called.get()).isFalse(); } + @Test + void toStringValue() { + assertThat(ArgumentValue.omitted()).hasToString("ArgumentValue[omitted]"); + assertThat(ArgumentValue.ofNullable(null)).hasToString("ArgumentValue[empty]"); + assertThat(ArgumentValue.ofNullable("hello")).hasToString("ArgumentValue[hello]"); + } }