parent
9f9b33c2ac
commit
8ec0c21b0a
|
|
@ -372,6 +372,10 @@ public abstract class AbstractMockHttpServletRequestBuilder<B extends AbstractMo
|
|||
* @param values one or more values
|
||||
*/
|
||||
public B param(String name, String... values) {
|
||||
if (values.length == 0) {
|
||||
this.parameters.computeIfAbsent(name, k -> new ArrayList<>());
|
||||
return self();
|
||||
}
|
||||
addToMultiValueMap(this.parameters, name, values);
|
||||
return self();
|
||||
}
|
||||
|
|
@ -821,11 +825,8 @@ public abstract class AbstractMockHttpServletRequestBuilder<B extends AbstractMo
|
|||
}
|
||||
addRequestParams(request, UriComponentsBuilder.fromUri(uri).build().getQueryParams());
|
||||
|
||||
this.parameters.forEach((name, values) -> {
|
||||
for (String value : values) {
|
||||
request.addParameter(name, value);
|
||||
}
|
||||
});
|
||||
this.parameters.forEach((name, values) ->
|
||||
request.setParameter(name, values.toArray(new String[0])));
|
||||
|
||||
if (!this.formFields.isEmpty()) {
|
||||
if (this.content != null && this.content.length > 0) {
|
||||
|
|
|
|||
|
|
@ -263,6 +263,16 @@ class MockHttpServletRequestBuilderTests {
|
|||
assertThat(request.getQueryString()).isEqualTo("foo=bar&foo=baz");
|
||||
}
|
||||
|
||||
@Test // gh-35210
|
||||
void queryParameterWithoutValues() {
|
||||
this.builder = new MockHttpServletRequestBuilder(GET).uri("/");
|
||||
this.builder.queryParam("foo");
|
||||
MockHttpServletRequest request = this.builder.buildRequest(this.servletContext);
|
||||
|
||||
assertThat(request.getQueryString()).isEqualTo("foo");
|
||||
assertThat(request.getParameterMap().get("foo")).containsExactly();
|
||||
}
|
||||
|
||||
@Test
|
||||
void queryParameterMap() {
|
||||
this.builder = new MockHttpServletRequestBuilder(GET).uri("/");
|
||||
|
|
|
|||
Loading…
Reference in New Issue