@@ -149,7 +149,7 @@ public Builder yamlMessageConverter(HttpMessageConverter<?> yamlMessageConverter
149
149
@ Override
150
150
public DefaultBuilder additionalMessageConverter (HttpMessageConverter <?> customConverter ) {
151
151
Assert .notNull (customConverter , "'customConverter' must not be null" );
152
- this .commonMessageConverters .additionalMessageConverters .add (customConverter );
152
+ this .commonMessageConverters .customMessageConverters .add (customConverter );
153
153
return this ;
154
154
}
155
155
@@ -216,7 +216,13 @@ static class DefaultMessageConverterConfigurer {
216
216
217
217
private @ Nullable HttpMessageConverter <?> yamlMessageConverter ;
218
218
219
- private final List <HttpMessageConverter <?>> additionalMessageConverters = new ArrayList <>();
219
+ private @ Nullable HttpMessageConverter <?> protobufMessageConverter ;
220
+
221
+ private @ Nullable HttpMessageConverter <?> atomMessageConverter ;
222
+
223
+ private @ Nullable HttpMessageConverter <?> rssMessageConverter ;
224
+
225
+ private final List <HttpMessageConverter <?>> customMessageConverters = new ArrayList <>();
220
226
221
227
static {
222
228
ClassLoader classLoader = DefaultClientMessageConverterConfigurer .class .getClassLoader ();
@@ -340,13 +346,34 @@ else if (this.inheritedMessageConverters != null &&
340
346
this .inheritedMessageConverters .xmlMessageConverter != null ) {
341
347
converters .add (this .inheritedMessageConverters .xmlMessageConverter );
342
348
}
349
+ if (this .protobufMessageConverter != null ) {
350
+ converters .add (this .protobufMessageConverter );
351
+ }
352
+ else if (this .inheritedMessageConverters != null &&
353
+ this .inheritedMessageConverters .protobufMessageConverter != null ) {
354
+ converters .add (this .inheritedMessageConverters .protobufMessageConverter );
355
+ }
356
+ if (this .atomMessageConverter != null ) {
357
+ converters .add (this .atomMessageConverter );
358
+ }
359
+ else if (this .inheritedMessageConverters != null &&
360
+ this .inheritedMessageConverters .atomMessageConverter != null ) {
361
+ converters .add (this .inheritedMessageConverters .atomMessageConverter );
362
+ }
363
+ if (this .rssMessageConverter != null ) {
364
+ converters .add (this .rssMessageConverter );
365
+ }
366
+ else if (this .inheritedMessageConverters != null &&
367
+ this .inheritedMessageConverters .rssMessageConverter != null ) {
368
+ converters .add (this .inheritedMessageConverters .rssMessageConverter );
369
+ }
343
370
return converters ;
344
371
}
345
372
346
373
List <HttpMessageConverter <?>> getCustomConverters () {
347
- List <HttpMessageConverter <?>> result = new ArrayList <>(this .additionalMessageConverters );
374
+ List <HttpMessageConverter <?>> result = new ArrayList <>(this .customMessageConverters );
348
375
if (this .inheritedMessageConverters != null ) {
349
- result .addAll (this .inheritedMessageConverters .additionalMessageConverters );
376
+ result .addAll (this .inheritedMessageConverters .customMessageConverters );
350
377
}
351
378
return result ;
352
379
}
@@ -405,12 +432,12 @@ else if (isJackson2YamlPresent) {
405
432
}
406
433
407
434
if (isKotlinSerializationProtobufPresent ) {
408
- this .additionalMessageConverters . add ( new KotlinSerializationProtobufHttpMessageConverter () );
435
+ this .protobufMessageConverter = new KotlinSerializationProtobufHttpMessageConverter ();
409
436
}
410
437
411
438
if (isRomePresent ) {
412
- this .additionalMessageConverters . add ( new AtomFeedHttpMessageConverter () );
413
- this .additionalMessageConverters . add ( new RssChannelHttpMessageConverter () );
439
+ this .atomMessageConverter = new AtomFeedHttpMessageConverter ();
440
+ this .rssMessageConverter = new RssChannelHttpMessageConverter ();
414
441
}
415
442
}
416
443
@@ -466,7 +493,7 @@ public ClientMessageConverterConfigurer yamlMessageConverter(HttpMessageConverte
466
493
@ Override
467
494
public ClientMessageConverterConfigurer additionalMessageConverter (HttpMessageConverter <?> customConverter ) {
468
495
Assert .notNull (customConverter , "'customConverter' must not be null" );
469
- this .clientMessageConverters .additionalMessageConverters .add (customConverter );
496
+ this .clientMessageConverters .customMessageConverters .add (customConverter );
470
497
return this ;
471
498
}
472
499
@@ -485,16 +512,16 @@ List<HttpMessageConverter<?>> getMessageConverters() {
485
512
List <HttpMessageConverter <?>> allConverters = new ArrayList <>();
486
513
List <HttpMessageConverter <?>> partConverters = new ArrayList <>();
487
514
488
- partConverters .addAll (this .clientMessageConverters .getCoreConverters ());
489
515
partConverters .addAll (this .clientMessageConverters .getCustomConverters ());
516
+ partConverters .addAll (this .clientMessageConverters .getCoreConverters ());
490
517
518
+ allConverters .addAll (this .clientMessageConverters .getCustomConverters ());
491
519
allConverters .addAll (this .clientMessageConverters .getBaseConverters ());
492
520
allConverters .addAll (this .resourceMessageConverters );
493
521
if (!partConverters .isEmpty ()) {
494
522
allConverters .add (new AllEncompassingFormHttpMessageConverter (partConverters ));
495
523
}
496
524
allConverters .addAll (this .clientMessageConverters .getCoreConverters ());
497
- allConverters .addAll (this .clientMessageConverters .getCustomConverters ());
498
525
499
526
if (this .configurer != null ) {
500
527
allConverters .forEach (this .configurer );
@@ -553,7 +580,7 @@ public ServerMessageConverterConfigurer yamlMessageConverter(HttpMessageConverte
553
580
@ Override
554
581
public ServerMessageConverterConfigurer additionalMessageConverter (HttpMessageConverter <?> customConverter ) {
555
582
Assert .notNull (customConverter , "'customConverter' must not be null" );
556
- this .serverMessageConverters .additionalMessageConverters .add (customConverter );
583
+ this .serverMessageConverters .customMessageConverters .add (customConverter );
557
584
return this ;
558
585
}
559
586
@@ -572,16 +599,16 @@ List<HttpMessageConverter<?>> getMessageConverters() {
572
599
List <HttpMessageConverter <?>> allConverters = new ArrayList <>();
573
600
List <HttpMessageConverter <?>> partConverters = new ArrayList <>();
574
601
575
- partConverters .addAll (this .serverMessageConverters .getCoreConverters ());
576
602
partConverters .addAll (this .serverMessageConverters .getCustomConverters ());
603
+ partConverters .addAll (this .serverMessageConverters .getCoreConverters ());
577
604
605
+ allConverters .addAll (this .serverMessageConverters .getCustomConverters ());
578
606
allConverters .addAll (this .serverMessageConverters .getBaseConverters ());
579
607
allConverters .addAll (this .resourceMessageConverters );
580
608
if (!partConverters .isEmpty ()) {
581
609
allConverters .add (new AllEncompassingFormHttpMessageConverter (partConverters ));
582
610
}
583
611
allConverters .addAll (this .serverMessageConverters .getCoreConverters ());
584
- allConverters .addAll (this .serverMessageConverters .getCustomConverters ());
585
612
if (this .configurer != null ) {
586
613
allConverters .forEach (this .configurer );
587
614
}
0 commit comments