Polish ServletServerHttpRequest query param handling

The method returning query parameters now returns only query string
parameters as opposed to any Servlet request parameter.

This commit also adds a ReadOnlyMultiValueMap.
This commit is contained in:
Rossen Stoyanchev
2013-08-02 17:40:08 -04:00
parent 9700f09fad
commit a03517fa35
10 changed files with 221 additions and 21 deletions

View File

@@ -18,11 +18,11 @@ package org.springframework.http.server;
import java.net.URI;
import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
@@ -106,4 +106,21 @@ public class ServletServerHttpRequestTests {
assertArrayEquals("Invalid content returned", content, result);
}
@Test
public void getQueryParams() throws Exception {
mockRequest.setQueryString("foo=bar");
mockRequest.addParameter("foo", "bar");
mockRequest.addParameter("a", "b");
assertEquals(Arrays.asList("bar"), request.getQueryParams().get("foo"));
assertNull(request.getQueryParams().get("a"));
}
@Test
public void getQueryParamsTwoValues() throws Exception {
mockRequest.setQueryString("baz=qux&baz=42");
mockRequest.addParameter("baz", "qux");
mockRequest.addParameter("baz", "42");
assertEquals(Arrays.asList("qux", "42"), request.getQueryParams().get("baz"));
}
}