Disable nulls serialization when serialize-nulls property is false

Closes gh-16332
pull/16472/head
liucheng.zhang 6 years ago committed by Stephane Nicoll
parent 877a47f22b
commit 4d1717f18e

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -84,7 +84,8 @@ public class GsonAutoConfiguration {
.toCall(builder::generateNonExecutableJson); .toCall(builder::generateNonExecutableJson);
map.from(properties::getExcludeFieldsWithoutExposeAnnotation) map.from(properties::getExcludeFieldsWithoutExposeAnnotation)
.toCall(builder::excludeFieldsWithoutExposeAnnotation); .toCall(builder::excludeFieldsWithoutExposeAnnotation);
map.from(properties::getSerializeNulls).toCall(builder::serializeNulls); map.from(properties::getSerializeNulls).whenTrue()
.toCall(builder::serializeNulls);
map.from(properties::getEnableComplexMapKeySerialization) map.from(properties::getEnableComplexMapKeySerialization)
.toCall(builder::enableComplexMapKeySerialization); .toCall(builder::enableComplexMapKeySerialization);
map.from(properties::getDisableInnerClassSerialization) map.from(properties::getDisableInnerClassSerialization)

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -81,7 +81,7 @@ public class GsonAutoConfigurationTests {
} }
@Test @Test
public void serializeNulls() { public void serializeNullsTrue() {
this.contextRunner.withPropertyValues("spring.gson.serialize-nulls:true") this.contextRunner.withPropertyValues("spring.gson.serialize-nulls:true")
.run((context) -> { .run((context) -> {
Gson gson = context.getBean(Gson.class); Gson gson = context.getBean(Gson.class);
@ -89,6 +89,15 @@ public class GsonAutoConfigurationTests {
}); });
} }
@Test
public void serializeNullsFalse() {
this.contextRunner.withPropertyValues("spring.gson.serialize-nulls:false")
.run((context) -> {
Gson gson = context.getBean(Gson.class);
assertThat(gson.serializeNulls()).isFalse();
});
}
@Test @Test
public void enableComplexMapKeySerialization() { public void enableComplexMapKeySerialization() {
this.contextRunner this.contextRunner

Loading…
Cancel
Save