Add MockMvcRequestBuilders.multipart(HttpMethod, String, Object...)

See gh-28545
Closes gh-28631
This commit is contained in:
Johnny Lim 2022-06-15 20:30:23 +09:00 committed by Sam Brannen
parent 8b4750e705
commit 9b93508374
2 changed files with 17 additions and 3 deletions

View File

@ -64,7 +64,11 @@ public class MockMultipartHttpServletRequestBuilder extends MockHttpServletReque
* @param uriVariables zero or more URI variables
*/
MockMultipartHttpServletRequestBuilder(String urlTemplate, Object... uriVariables) {
super(HttpMethod.POST, urlTemplate, uriVariables);
this(HttpMethod.POST, urlTemplate, uriVariables);
}
MockMultipartHttpServletRequestBuilder(HttpMethod httpMethod, String urlTemplate, Object... uriVariables) {
super(httpMethod, urlTemplate, uriVariables);
super.contentType(MediaType.MULTIPART_FORM_DATA);
}
@ -74,8 +78,7 @@ public class MockMultipartHttpServletRequestBuilder extends MockHttpServletReque
* @since 4.0.3
*/
MockMultipartHttpServletRequestBuilder(URI uri) {
super(HttpMethod.POST, uri);
super.contentType(MediaType.MULTIPART_FORM_DATA);
this(HttpMethod.POST, uri);
}
/**

View File

@ -214,6 +214,17 @@ public abstract class MockMvcRequestBuilders {
return new MockMultipartHttpServletRequestBuilder(urlTemplate, uriVars);
}
/**
* Create a {@link MockMultipartHttpServletRequestBuilder} for a multipart request.
* @param httpMethod the HTTP method to use
* @param urlTemplate a URL template; the resulting URL will be encoded
* @param uriVars zero or more URI variables
* @since 5.3.22
*/
public static MockMultipartHttpServletRequestBuilder multipart(HttpMethod httpMethod, String urlTemplate, Object... uriVars) {
return new MockMultipartHttpServletRequestBuilder(httpMethod, urlTemplate, uriVars);
}
/**
* Variant of {@link #multipart(String, Object...)} with a {@link URI}.
* @param uri the URL