Skip to content

Commit eac7d67

Browse files
bric3wilkinsona
authored andcommitted
Propagate ignoreUndocumentedParamteres with .and()
See gh-676
1 parent b02fcbe commit eac7d67

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

spring-restdocs-core/src/main/java/org/springframework/restdocs/request/AbstractParametersSnippet.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,10 @@ protected final Map<String, ParameterDescriptor> getParameterDescriptors() {
148148
return this.descriptorsByName;
149149
}
150150

151+
protected final boolean isIgnoreUndocumentedParameters() {
152+
return ignoreUndocumentedParameters;
153+
}
154+
151155
/**
152156
* Returns a model for the given {@code descriptor}.
153157
* @param descriptor the descriptor

spring-restdocs-core/src/main/java/org/springframework/restdocs/request/RequestParametersSnippet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ public RequestParametersSnippet and(ParameterDescriptor... additionalDescriptors
133133
public RequestParametersSnippet and(List<ParameterDescriptor> additionalDescriptors) {
134134
List<ParameterDescriptor> combinedDescriptors = new ArrayList<>(getParameterDescriptors().values());
135135
combinedDescriptors.addAll(additionalDescriptors);
136-
return new RequestParametersSnippet(combinedDescriptors, this.getAttributes());
136+
return new RequestParametersSnippet(combinedDescriptors, this.getAttributes(), this.isIgnoreUndocumentedParameters());
137137
}
138138

139139
}

spring-restdocs-core/src/test/java/org/springframework/restdocs/request/RequestParametersSnippetTests.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,15 @@ public void additionalDescriptors() throws IOException {
153153
.is(tableWithHeader("Parameter", "Description").row("`a`", "one").row("`b`", "two"));
154154
}
155155

156+
@Test
157+
public void additionalDescriptorsWithRelaxedRequestParameters() throws IOException {
158+
RequestDocumentation.relaxedRequestParameters(parameterWithName("a").description("one"))
159+
.and(parameterWithName("b").description("two")).document(this.operationBuilder
160+
.request("http://localhost").param("a", "bravo").param("b", "bravo").param("c", "undocumented").build());
161+
assertThat(this.generatedSnippets.requestParameters())
162+
.is(tableWithHeader("Parameter", "Description").row("`a`", "one").row("`b`", "two"));
163+
}
164+
156165
@Test
157166
public void requestParametersWithEscapedContent() throws IOException {
158167
RequestDocumentation.requestParameters(parameterWithName("Foo|Bar").description("one|two"))

0 commit comments

Comments
 (0)