Skip to content

Commit 3db6a7f

Browse files
committed
Add method for HTTP PATCH in MockMvcRequestBuilders
Issue: SPR-11299
1 parent 0606c98 commit 3db6a7f

File tree

1 file changed

+13
-16
lines changed

1 file changed

+13
-16
lines changed

spring-test-mvc/src/main/java/org/springframework/test/web/servlet/request/MockMvcRequestBuilders.java

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,18 @@
2828
/**
2929
* Static factory methods for {@link RequestBuilder}s.
3030
*
31-
* <p><strong>Eclipse users:</strong> consider adding this class as a Java
31+
* <p><strong>Eclipse users:</strong> Consider adding this class as a Java
3232
* editor favorite. To navigate, open the Preferences and type "favorites".
3333
*
3434
* @author Arjen Poutsma
3535
* @author Rossen Stoyanchev
36+
* @author Greg Turnquist
3637
* @since 3.2
3738
*/
3839
public abstract class MockMvcRequestBuilders {
3940

40-
private MockMvcRequestBuilders() {
41-
}
42-
4341
/**
4442
* Create a {@link MockHttpServletRequestBuilder} for a GET request.
45-
*
4643
* @param urlTemplate a URL template; the resulting URL will be encoded
4744
* @param urlVariables zero or more URL variables
4845
*/
@@ -52,7 +49,6 @@ public static MockHttpServletRequestBuilder get(String urlTemplate, Object... ur
5249

5350
/**
5451
* Create a {@link MockHttpServletRequestBuilder} for a POST request.
55-
*
5652
* @param urlTemplate a URL template; the resulting URL will be encoded
5753
* @param urlVariables zero or more URL variables
5854
*/
@@ -62,17 +58,24 @@ public static MockHttpServletRequestBuilder post(String urlTemplate, Object... u
6258

6359
/**
6460
* Create a {@link MockHttpServletRequestBuilder} for a PUT request.
65-
*
6661
* @param urlTemplate a URL template; the resulting URL will be encoded
6762
* @param urlVariables zero or more URL variables
6863
*/
6964
public static MockHttpServletRequestBuilder put(String urlTemplate, Object... urlVariables) {
7065
return new MockHttpServletRequestBuilder(HttpMethod.PUT, urlTemplate, urlVariables);
7166
}
7267

68+
/**
69+
* Create a {@link MockHttpServletRequestBuilder} for a PATCH request.
70+
* @param urlTemplate a URL template; the resulting URL will be encoded
71+
* @param urlVariables zero or more URL variables
72+
*/
73+
public static MockHttpServletRequestBuilder patch(String urlTemplate, Object... urlVariables) {
74+
return new MockHttpServletRequestBuilder(HttpMethod.PATCH, urlTemplate, urlVariables);
75+
}
76+
7377
/**
7478
* Create a {@link MockHttpServletRequestBuilder} for a DELETE request.
75-
*
7679
* @param urlTemplate a URL template; the resulting URL will be encoded
7780
* @param urlVariables zero or more URL variables
7881
*/
@@ -82,7 +85,6 @@ public static MockHttpServletRequestBuilder delete(String urlTemplate, Object...
8285

8386
/**
8487
* Create a {@link MockHttpServletRequestBuilder} for an OPTIONS request.
85-
*
8688
* @param urlTemplate a URL template; the resulting URL will be encoded
8789
* @param urlVariables zero or more URL variables
8890
*/
@@ -93,7 +95,6 @@ public static MockHttpServletRequestBuilder options(String urlTemplate, Object..
9395

9496
/**
9597
* Create a {@link MockHttpServletRequestBuilder} for a request with the given HTTP method.
96-
*
9798
* @param httpMethod the HTTP method
9899
* @param urlTemplate a URL template; the resulting URL will be encoded
99100
* @param urlVariables zero or more URL variables
@@ -104,7 +105,6 @@ public static MockHttpServletRequestBuilder request(HttpMethod httpMethod, Strin
104105

105106
/**
106107
* Create a {@link MockHttpServletRequestBuilder} for a multipart request.
107-
*
108108
* @param urlTemplate a URL template; the resulting URL will be encoded
109109
* @param urlVariables zero or more URL variables
110110
*/
@@ -115,22 +115,19 @@ public static MockMultipartHttpServletRequestBuilder fileUpload(String urlTempla
115115
/**
116116
* Create a {@link RequestBuilder} for an async dispatch from the
117117
* {@link MvcResult} of the request that started async processing.
118-
*
119118
* <p>Usage involves performing one request first that starts async processing:
120-
* <pre>
119+
* <pre class="code">
121120
* MvcResult mvcResult = this.mockMvc.perform(get("/1"))
122121
* .andExpect(request().asyncStarted())
123122
* .andReturn();
124123
* </pre>
125-
*
126124
* <p>And then performing the async dispatch re-using the {@code MvcResult}:
127-
* <pre>
125+
* <pre class="code">
128126
* this.mockMvc.perform(asyncDispatch(mvcResult))
129127
* .andExpect(status().isOk())
130128
* .andExpect(content().contentType(MediaType.APPLICATION_JSON))
131129
* .andExpect(content().string("{\"name\":\"Joe\",\"someDouble\":0.0,\"someBoolean\":false}"));
132130
* </pre>
133-
*
134131
* @param mvcResult the result from the request that started async processing
135132
*/
136133
public static RequestBuilder asyncDispatch(final MvcResult mvcResult) {

0 commit comments

Comments
 (0)