Allow to disable defaults in HttpMessageConverters

The builder for `HttpMessageConverters` allows for auto-detection of
message converters on the classpath and their default registration when
`registerDefaults()` is called. Once called, there is no way to undo
this.

This commit adds a new `disableDefaults()` method to disable the default
registration and take full control over the list of message converters.

Closes gh-36303
This commit is contained in:
Brian Clozel
2026-02-11 18:37:12 +01:00
parent a9b1d6335e
commit 5ef9972528
3 changed files with 33 additions and 0 deletions
@@ -125,6 +125,12 @@ class DefaultHttpMessageConvertersTests {
RssChannelHttpMessageConverter.class);
}
@Test
void disableDefaults() {
var converters = HttpMessageConverters.forClient().registerDefaults().disableDefaults().build();
assertThat(converters).isEmpty();
}
@Test
void multipartConverterContainsOtherConverters() {
var converters = HttpMessageConverters.forClient().registerDefaults().build();
@@ -242,6 +248,12 @@ class DefaultHttpMessageConvertersTests {
RssChannelHttpMessageConverter.class);
}
@Test
void disableDefaults() {
var converters = HttpMessageConverters.forServer().registerDefaults().disableDefaults().build();
assertThat(converters).isEmpty();
}
@Test
void multipartConverterContainsOtherConverters() {
var converters = HttpMessageConverters.forServer().registerDefaults().build();