SampleMethodSecurityApplicationTests
fails in CI and after some digging it appears to be due to WebMvcConfigurationSupport.getMessageConverters()
order changing.
In Spring Boot 3.5 the order is:
org.springframework.http.converter.ByteArrayHttpMessageConverter
org.springframework.http.converter.StringHttpMessageConverter
org.springframework.http.converter.ResourceHttpMessageConverter
org.springframework.http.converter.ResourceRegionHttpMessageConverter
org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter
org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
org.springframework.http.converter.cbor.MappingJackson2CborHttpMessageConverter
In the current 4.0.x SNAPSHOT it is:
org.springframework.http.converter.ByteArrayHttpMessageConverter
org.springframework.http.converter.StringHttpMessageConverter
org.springframework.http.converter.ResourceHttpMessageConverter
org.springframework.http.converter.ResourceRegionHttpMessageConverter
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
org.springframework.http.converter.cbor.MappingJackson2CborHttpMessageConverter
org.springframework.http.converter.yaml.MappingJackson2YamlHttpMessageConverter
org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter
org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter
The critical thing here is that AllEncompassingFormHttpMessageConverter
is behind MappingJackson2HttpMessageConverter
. This causes SampleMethodSecurityApplicationTests.testDenied
to fail because rather than HttpEntity
sends a body that is converted to JSON rather than a form.
Comment From: philwebb
See spring-projects/spring-framework#33894
Comment From: philwebb
I've put in a temporary workaround until we decide which order we should adopt.