#1061 - Reenable default codecs for WebFlux configuration.

With Spring WebFlux properly handling custom codecs, no need to disable the default handlers.

This commit verifies WebFlux configuration in test cases, and also adds an equivalent set of test cases verifying Web MVC configuration as well.

Supercedes: #1047
This commit is contained in:
Greg Turnquist
2019-09-04 14:44:46 -05:00
parent 85fe81e3a2
commit fd70fd90d2
5 changed files with 497 additions and 16 deletions

View File

@@ -124,21 +124,14 @@ class WebFluxHateoasConfiguration {
@Override
public void configureHttpMessageCodecs(ServerCodecConfigurer configurer) {
CodecConfigurer.CustomCodecs customCodecs = configurer.customCodecs();
this.hypermediaTypes.forEach(hypermedia -> {
MimeType[] mimeTypes = hypermedia.getMediaTypes().toArray(new MimeType[0]);
ObjectMapper objectMapper = hypermedia.configureObjectMapper(this.mapper.copy());
customCodecs.encoder(new Jackson2JsonEncoder(objectMapper, mimeTypes));
customCodecs.decoder(new Jackson2JsonDecoder(objectMapper, mimeTypes));
MimeType[] mimeTypes = hypermedia.getMediaTypes().toArray(new MimeType[0]);
configurer.customCodecs().encoder(new Jackson2JsonEncoder(objectMapper, mimeTypes));
configurer.customCodecs().decoder(new Jackson2JsonDecoder(objectMapper, mimeTypes));
});
customCodecs.encoder(CharSequenceEncoder.allMimeTypes());
customCodecs.decoder(StringDecoder.allMimeTypes());
configurer.registerDefaults(false);
}
}
}

View File

@@ -65,7 +65,7 @@ import com.fasterxml.jackson.databind.type.TypeFactory;
* @author Greg Turnquist
* @author Oliver Drotbohm
*/
class Jackson2CollectionJsonModule extends SimpleModule {
public class Jackson2CollectionJsonModule extends SimpleModule {
private static final long serialVersionUID = -6540574644565592709L;

View File

@@ -73,7 +73,7 @@ import com.fasterxml.jackson.databind.type.TypeFactory;
* @author Greg Turnquist
* @author Oliver Gierke
*/
class Jackson2HalFormsModule extends SimpleModule {
public class Jackson2HalFormsModule extends SimpleModule {
private static final long serialVersionUID = -4496351128468451196L;