Skip to content

Commit 737e6ea

Browse files
snicollwilkinsona
authored andcommitted
Revert "Fix compatibility problems with Spring Framework 6.2"
This commit reverts most of cf451c9 as the underlying problem that it fixed is no longer applicable. See spring-projects/spring-framework#33229 See gh-936
1 parent cf451c9 commit 737e6ea

File tree

3 files changed

+21
-56
lines changed

3 files changed

+21
-56
lines changed

spring-restdocs-mockmvc/src/main/java/org/springframework/restdocs/mockmvc/RestDocumentationRequestBuilders.java

+19-30
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2014-2024 the original author or authors.
2+
* Copyright 2014-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -51,8 +51,8 @@ private RestDocumentationRequestBuilders() {
5151
* @return the builder for the GET request
5252
*/
5353
public static MockHttpServletRequestBuilder get(String urlTemplate, Object... urlVariables) {
54-
return (MockHttpServletRequestBuilder) configureUrlTemplateRequestAttribute(
55-
MockMvcRequestBuilders.get(urlTemplate, urlVariables), urlTemplate);
54+
return MockMvcRequestBuilders.get(urlTemplate, urlVariables)
55+
.requestAttr(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate);
5656
}
5757

5858
/**
@@ -72,8 +72,8 @@ public static MockHttpServletRequestBuilder get(URI uri) {
7272
* @return the builder for the POST request
7373
*/
7474
public static MockHttpServletRequestBuilder post(String urlTemplate, Object... urlVariables) {
75-
return (MockHttpServletRequestBuilder) configureUrlTemplateRequestAttribute(
76-
MockMvcRequestBuilders.post(urlTemplate, urlVariables), urlTemplate);
75+
return MockMvcRequestBuilders.post(urlTemplate, urlVariables)
76+
.requestAttr(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate);
7777
}
7878

7979
/**
@@ -93,8 +93,8 @@ public static MockHttpServletRequestBuilder post(URI uri) {
9393
* @return the builder for the PUT request
9494
*/
9595
public static MockHttpServletRequestBuilder put(String urlTemplate, Object... urlVariables) {
96-
return (MockHttpServletRequestBuilder) configureUrlTemplateRequestAttribute(
97-
MockMvcRequestBuilders.put(urlTemplate, urlVariables), urlTemplate);
96+
return MockMvcRequestBuilders.put(urlTemplate, urlVariables)
97+
.requestAttr(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate);
9898
}
9999

100100
/**
@@ -114,8 +114,8 @@ public static MockHttpServletRequestBuilder put(URI uri) {
114114
* @return the builder for the PATCH request
115115
*/
116116
public static MockHttpServletRequestBuilder patch(String urlTemplate, Object... urlVariables) {
117-
return (MockHttpServletRequestBuilder) configureUrlTemplateRequestAttribute(
118-
MockMvcRequestBuilders.patch(urlTemplate, urlVariables), urlTemplate);
117+
return MockMvcRequestBuilders.patch(urlTemplate, urlVariables)
118+
.requestAttr(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate);
119119
}
120120

121121
/**
@@ -135,8 +135,8 @@ public static MockHttpServletRequestBuilder patch(URI uri) {
135135
* @return the builder for the DELETE request
136136
*/
137137
public static MockHttpServletRequestBuilder delete(String urlTemplate, Object... urlVariables) {
138-
return (MockHttpServletRequestBuilder) configureUrlTemplateRequestAttribute(
139-
MockMvcRequestBuilders.delete(urlTemplate, urlVariables), urlTemplate);
138+
return MockMvcRequestBuilders.delete(urlTemplate, urlVariables)
139+
.requestAttr(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate);
140140
}
141141

142142
/**
@@ -156,8 +156,8 @@ public static MockHttpServletRequestBuilder delete(URI uri) {
156156
* @return the builder for the OPTIONS request
157157
*/
158158
public static MockHttpServletRequestBuilder options(String urlTemplate, Object... urlVariables) {
159-
return (MockHttpServletRequestBuilder) configureUrlTemplateRequestAttribute(
160-
MockMvcRequestBuilders.options(urlTemplate, urlVariables), urlTemplate);
159+
return MockMvcRequestBuilders.options(urlTemplate, urlVariables)
160+
.requestAttr(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate);
161161
}
162162

163163
/**
@@ -177,8 +177,8 @@ public static MockHttpServletRequestBuilder options(URI uri) {
177177
* @return the builder for the HEAD request
178178
*/
179179
public static MockHttpServletRequestBuilder head(String urlTemplate, Object... urlVariables) {
180-
return (MockHttpServletRequestBuilder) configureUrlTemplateRequestAttribute(
181-
MockMvcRequestBuilders.head(urlTemplate, urlVariables), urlTemplate);
180+
return MockMvcRequestBuilders.head(urlTemplate, urlVariables)
181+
.requestAttr(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate);
182182
}
183183

184184
/**
@@ -200,8 +200,8 @@ public static MockHttpServletRequestBuilder head(URI uri) {
200200
*/
201201
public static MockHttpServletRequestBuilder request(HttpMethod httpMethod, String urlTemplate,
202202
Object... urlVariables) {
203-
return (MockHttpServletRequestBuilder) configureUrlTemplateRequestAttribute(
204-
MockMvcRequestBuilders.request(httpMethod, urlTemplate, urlVariables), urlTemplate);
203+
return MockMvcRequestBuilders.request(httpMethod, urlTemplate, urlVariables)
204+
.requestAttr(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate);
205205
}
206206

207207
/**
@@ -224,8 +224,8 @@ public static MockHttpServletRequestBuilder request(HttpMethod httpMethod, URI u
224224
* @since 2.0.6
225225
*/
226226
public static MockMultipartHttpServletRequestBuilder multipart(String urlTemplate, Object... urlVariables) {
227-
return (MockMultipartHttpServletRequestBuilder) configureUrlTemplateRequestAttribute(
228-
MockMvcRequestBuilders.multipart(urlTemplate, urlVariables), urlTemplate);
227+
return (MockMultipartHttpServletRequestBuilder) MockMvcRequestBuilders.multipart(urlTemplate, urlVariables)
228+
.requestAttr(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate);
229229
}
230230

231231
/**
@@ -238,15 +238,4 @@ public static MockMultipartHttpServletRequestBuilder multipart(URI uri) {
238238
return MockMvcRequestBuilders.multipart(uri);
239239
}
240240

241-
private static Object configureUrlTemplateRequestAttribute(Object builder, String urlTemplate) {
242-
try {
243-
return builder.getClass()
244-
.getMethod("requestAttr", String.class, Object.class)
245-
.invoke(builder, RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate);
246-
}
247-
catch (Exception ex) {
248-
throw new RuntimeException(ex);
249-
}
250-
}
251-
252241
}

spring-restdocs-mockmvc/src/test/java/org/springframework/restdocs/mockmvc/MockMvcRequestConverterTests.java

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2014-2024 the original author or authors.
2+
* Copyright 2014-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -34,7 +34,6 @@
3434
import org.springframework.restdocs.operation.OperationRequestPart;
3535
import org.springframework.restdocs.operation.RequestCookie;
3636
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
37-
import org.springframework.test.web.servlet.request.MockMultipartHttpServletRequestBuilder;
3837
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
3938

4039
import static org.assertj.core.api.Assertions.assertThat;
@@ -237,8 +236,4 @@ private OperationRequest createOperationRequest(MockHttpServletRequestBuilder bu
237236
return this.factory.convert(builder.buildRequest(new MockServletContext()));
238237
}
239238

240-
private OperationRequest createOperationRequest(MockMultipartHttpServletRequestBuilder builder) {
241-
return this.factory.convert(builder.buildRequest(new MockServletContext()));
242-
}
243-
244239
}

spring-restdocs-mockmvc/src/test/java/org/springframework/restdocs/mockmvc/RestDocumentationRequestBuildersTests.java

+1-20
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2014-2024 the original author or authors.
2+
* Copyright 2014-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -26,7 +26,6 @@
2626
import org.springframework.mock.web.MockServletContext;
2727
import org.springframework.restdocs.generate.RestDocumentationGenerator;
2828
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
29-
import org.springframework.test.web.servlet.request.MockMultipartHttpServletRequestBuilder;
3029

3130
import static org.assertj.core.api.Assertions.assertThat;
3231
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.delete;
@@ -141,15 +140,6 @@ public void multipartUri() {
141140

142141
private void assertTemplate(MockHttpServletRequestBuilder builder, HttpMethod httpMethod) {
143142
MockHttpServletRequest request = builder.buildRequest(this.servletContext);
144-
assertTemplate(httpMethod, request);
145-
}
146-
147-
private void assertTemplate(MockMultipartHttpServletRequestBuilder builder, HttpMethod httpMethod) {
148-
MockHttpServletRequest request = builder.buildRequest(this.servletContext);
149-
assertTemplate(httpMethod, request);
150-
}
151-
152-
private void assertTemplate(HttpMethod httpMethod, MockHttpServletRequest request) {
153143
assertThat((String) request.getAttribute(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE))
154144
.isEqualTo("/{template}");
155145
assertThat(request.getRequestURI()).isEqualTo("/t");
@@ -158,15 +148,6 @@ private void assertTemplate(HttpMethod httpMethod, MockHttpServletRequest reques
158148

159149
private void assertUri(MockHttpServletRequestBuilder builder, HttpMethod httpMethod) {
160150
MockHttpServletRequest request = builder.buildRequest(this.servletContext);
161-
assertUri(httpMethod, request);
162-
}
163-
164-
private void assertUri(MockMultipartHttpServletRequestBuilder builder, HttpMethod httpMethod) {
165-
MockHttpServletRequest request = builder.buildRequest(this.servletContext);
166-
assertUri(httpMethod, request);
167-
}
168-
169-
private void assertUri(HttpMethod httpMethod, MockHttpServletRequest request) {
170151
assertThat(request.getRequestURI()).isEqualTo("/uri");
171152
assertThat(request.getMethod()).isEqualTo(httpMethod.name());
172153
}

0 commit comments

Comments
 (0)