From fc54cf443098d5705cf2e05f28e86e5b64730239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 28 May 2024 11:17:40 +0200 Subject: [PATCH] Harmonize use of uri in MockMvc Closes gh-32915 --- .../MockHttpServletRequestBuilder.java | 48 +++++------ ...ockMultipartHttpServletRequestBuilder.java | 12 +-- .../request/MockMvcRequestBuilders.java | 82 +++++++++---------- .../MockHttpServletRequestBuilderTests.java | 2 +- 4 files changed, 72 insertions(+), 72 deletions(-) diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java b/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java index 2f51ca0791..77d324413d 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilder.java @@ -88,7 +88,7 @@ public class MockHttpServletRequestBuilder private final HttpMethod method; - private final URI url; + private final URI uri; private String contextPath = ""; @@ -146,18 +146,18 @@ public class MockHttpServletRequestBuilder * the {@code MockHttpServletRequest} can be plugged in via * {@link #with(RequestPostProcessor)}. * @param httpMethod the HTTP method (GET, POST, etc.) - * @param url a URL template; the resulting URL will be encoded - * @param vars zero or more URI variables + * @param uriTemplate a URI template; the resulting URI will be encoded + * @param uriVariables zero or more URI variables */ - MockHttpServletRequestBuilder(HttpMethod httpMethod, String url, Object... vars) { - this(httpMethod, initUri(url, vars)); + MockHttpServletRequestBuilder(HttpMethod httpMethod, String uriTemplate, Object... uriVariables) { + this(httpMethod, initUri(uriTemplate, uriVariables)); } - private static URI initUri(String url, Object[] vars) { - Assert.notNull(url, "'url' must not be null"); - Assert.isTrue(url.isEmpty() || url.startsWith("/") || url.startsWith("http://") || url.startsWith("https://"), - () -> "'url' should start with a path or be a complete HTTP URL: " + url); - String uriString = (url.isEmpty() ? "/" : url); + private static URI initUri(String uri, Object[] vars) { + Assert.notNull(uri, "'uri' must not be null"); + Assert.isTrue(uri.isEmpty() || uri.startsWith("/") || uri.startsWith("http://") || uri.startsWith("https://"), + () -> "'uri' should start with a path or be a complete HTTP URI: " + uri); + String uriString = (uri.isEmpty() ? "/" : uri); return UriComponentsBuilder.fromUriString(uriString).buildAndExpand(vars).encode().toUri(); } @@ -165,14 +165,14 @@ public class MockHttpServletRequestBuilder * Alternative to {@link #MockHttpServletRequestBuilder(HttpMethod, String, Object...)} * with a pre-built URI. * @param httpMethod the HTTP method (GET, POST, etc.) - * @param url the URL + * @param uri the URI * @since 4.0.3 */ - MockHttpServletRequestBuilder(HttpMethod httpMethod, URI url) { + MockHttpServletRequestBuilder(HttpMethod httpMethod, URI uri) { Assert.notNull(httpMethod, "'httpMethod' is required"); - Assert.notNull(url, "'url' is required"); + Assert.notNull(uri, "'uri' is required"); this.method = httpMethod; - this.url = url; + this.uri = uri; } @@ -363,7 +363,7 @@ public class MockHttpServletRequestBuilder * also use add Servlet request parameters by specifying the query or form * data through one of the following: *