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 */
3839public 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