diff --git a/spring-restdocs-core/src/main/java/org/springframework/restdocs/request/AbstractParametersSnippet.java b/spring-restdocs-core/src/main/java/org/springframework/restdocs/request/AbstractParametersSnippet.java index 3be05028d..dd590be22 100644 --- a/spring-restdocs-core/src/main/java/org/springframework/restdocs/request/AbstractParametersSnippet.java +++ b/spring-restdocs-core/src/main/java/org/springframework/restdocs/request/AbstractParametersSnippet.java @@ -148,6 +148,10 @@ protected final Map getParameterDescriptors() { return this.descriptorsByName; } + protected final boolean isIgnoreUndocumentedParameters() { + return ignoreUndocumentedParameters; + } + /** * Returns a model for the given {@code descriptor}. * @param descriptor the descriptor diff --git a/spring-restdocs-core/src/main/java/org/springframework/restdocs/request/RequestParametersSnippet.java b/spring-restdocs-core/src/main/java/org/springframework/restdocs/request/RequestParametersSnippet.java index 790a71092..5af9abee1 100644 --- a/spring-restdocs-core/src/main/java/org/springframework/restdocs/request/RequestParametersSnippet.java +++ b/spring-restdocs-core/src/main/java/org/springframework/restdocs/request/RequestParametersSnippet.java @@ -133,7 +133,7 @@ public RequestParametersSnippet and(ParameterDescriptor... additionalDescriptors public RequestParametersSnippet and(List additionalDescriptors) { List combinedDescriptors = new ArrayList<>(getParameterDescriptors().values()); combinedDescriptors.addAll(additionalDescriptors); - return new RequestParametersSnippet(combinedDescriptors, this.getAttributes()); + return new RequestParametersSnippet(combinedDescriptors, this.getAttributes(), this.isIgnoreUndocumentedParameters()); } } diff --git a/spring-restdocs-core/src/test/java/org/springframework/restdocs/request/RequestParametersSnippetTests.java b/spring-restdocs-core/src/test/java/org/springframework/restdocs/request/RequestParametersSnippetTests.java index 85fb1c235..19a47c654 100644 --- a/spring-restdocs-core/src/test/java/org/springframework/restdocs/request/RequestParametersSnippetTests.java +++ b/spring-restdocs-core/src/test/java/org/springframework/restdocs/request/RequestParametersSnippetTests.java @@ -153,6 +153,15 @@ public void additionalDescriptors() throws IOException { .is(tableWithHeader("Parameter", "Description").row("`a`", "one").row("`b`", "two")); } + @Test + public void additionalDescriptorsWithRelaxedRequestParameters() throws IOException { + RequestDocumentation.relaxedRequestParameters(parameterWithName("a").description("one")) + .and(parameterWithName("b").description("two")).document(this.operationBuilder + .request("http://localhost").param("a", "bravo").param("b", "bravo").param("c", "undocumented").build()); + assertThat(this.generatedSnippets.requestParameters()) + .is(tableWithHeader("Parameter", "Description").row("`a`", "one").row("`b`", "two")); + } + @Test public void requestParametersWithEscapedContent() throws IOException { RequestDocumentation.requestParameters(parameterWithName("Foo|Bar").description("one|two"))