This commit is contained in:
Arjen Poutsma
2024-05-16 11:51:36 +02:00
parent fa275f908e
commit 14861024d5
5 changed files with 111 additions and 40 deletions

View File

@@ -174,12 +174,13 @@ public class ContentRequestMatchers {
return formData(multiValueMap, false);
}
@SuppressWarnings("unchecked")
private RequestMatcher formData(MultiValueMap<String, String> expectedMap, boolean containsExactly) {
return request -> {
MockClientHttpRequest mockRequest = (MockClientHttpRequest) request;
MockHttpInputMessage message = new MockHttpInputMessage(mockRequest.getBodyAsBytes());
message.getHeaders().putAll(mockRequest.getHeaders());
MultiValueMap<String, String> actualMap = new FormHttpMessageConverter().read(null, message);
MultiValueMap<String, String> actualMap = (MultiValueMap<String, String>) new FormHttpMessageConverter().read(null, message);
if (containsExactly) {
assertEquals("Form data", expectedMap, actualMap);
}

View File

@@ -899,6 +899,7 @@ public class MockHttpServletRequestBuilder
}
}
@SuppressWarnings("unchecked")
private MultiValueMap<String, String> parseFormData(MediaType mediaType) {
HttpInputMessage message = new HttpInputMessage() {
@Override
@@ -914,7 +915,7 @@ public class MockHttpServletRequestBuilder
};
try {
return new FormHttpMessageConverter().read(null, message);
return (MultiValueMap<String, String>) new FormHttpMessageConverter().read(null, message);
}
catch (IOException ex) {
throw new IllegalStateException("Failed to parse form data in request body", ex);