Skip to content

Commit 7b1b11c

Browse files
[fit] 优化序列化器逻辑 (#109)
1 parent a983de8 commit 7b1b11c

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

framework/fel/java/maven-plugins/tool-maven-plugin/src/main/java/modelengine/fel/maven/complie/plugin/UrlClassLoaderInitializer.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
import static modelengine.fit.serialization.json.jackson.JacksonObjectSerializer.DEFAULT_DATE_FORMAT;
1010
import static modelengine.fit.serialization.json.jackson.JacksonObjectSerializer.DEFAULT_DATE_TIME_FORMAT;
1111

12+
import com.fasterxml.jackson.annotation.JsonInclude;
1213
import com.fasterxml.jackson.databind.ObjectMapper;
1314

14-
import modelengine.fel.maven.complie.util.JsonUtils;
1515
import modelengine.fel.tool.ToolSchema;
1616
import modelengine.fel.tool.info.entity.ToolJsonEntity;
1717
import modelengine.fit.serialization.json.jackson.JacksonObjectSerializer;
@@ -28,7 +28,6 @@
2828
import java.nio.file.Paths;
2929
import java.util.LinkedList;
3030
import java.util.List;
31-
import java.util.Map;
3231
import java.util.stream.Stream;
3332

3433
/**
@@ -80,7 +79,9 @@ public void outputToolManifest(String outputDirectory, ToolJsonEntity toolJsonEn
8079
DEFAULT_DATE_FORMAT,
8180
"Asia/Shanghai"
8281
);
83-
serializer.getMapper().writerWithDefaultPrettyPrinter().writeValue(jsonFile, toolJsonEntity);
82+
ObjectMapper objectMapper = serializer.getMapper().copy();
83+
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
84+
objectMapper.writerWithDefaultPrettyPrinter().writeValue(jsonFile, toolJsonEntity);
8485
log.info("Write tool json successfully. [file={}]", jsonFile.getName());
8586
}
8687
}

framework/fit/java/fit-builtin/plugins/fit-message-serializer-json-jackson/src/main/java/modelengine/fit/serialization/json/jackson/JacksonObjectSerializer.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import static modelengine.fitframework.inspection.Validation.notNull;
1010

1111
import com.fasterxml.jackson.annotation.JsonAutoDetect;
12-
import com.fasterxml.jackson.annotation.JsonInclude;
1312
import com.fasterxml.jackson.core.JsonEncoding;
1413
import com.fasterxml.jackson.core.JsonFactoryBuilder;
1514
import com.fasterxml.jackson.core.JsonGenerator;
@@ -84,8 +83,7 @@ public JacksonObjectSerializer(@Value("${date-time-format}") String dateTimeForm
8483
.maxStringLength(Integer.MAX_VALUE)
8584
.build()).build()).configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
8685
.setAnnotationIntrospector(new FitAnnotationIntrospector())
87-
.setVisibility(visibilityChecker)
88-
.setSerializationInclusion(JsonInclude.Include.NON_NULL);
86+
.setVisibility(visibilityChecker);
8987
SimpleModule module = new SimpleModule();
9088
module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(dateTimeFormat));
9189
module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(dateTimeFormat));

framework/fit/java/fit-builtin/plugins/fit-message-serializer-json-jackson/src/test/java/modelengine/fit/serialization/json/jackson/JacksonObjectSerializerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ void givenAliasJsonThenDeserializeOk() {
212212
@Test
213213
@DisplayName("当存在别名时,序列化成功")
214214
void givenAliasObjectThenSerializeOk() {
215-
String expect = "{\"first_name\":\"foo\"}";
215+
String expect = "{\"lastName\":null,\"first_name\":\"foo\",\"person_name\":null}";
216216
PersonAlias personAlias = new PersonAlias();
217217
personAlias.firstName("foo");
218218
assertThat(this.jsonSerializer.serialize(personAlias)).isEqualTo(expect);
@@ -229,7 +229,7 @@ void givenJsonPropertyThenDeserializeOriginOk() {
229229
@Test
230230
@DisplayName("当使用原生注解,存在别名时,序列化成功")
231231
void givenJsonPropertyThenSerializeOriginOk() {
232-
String expect = "{\"lastName\":\"bar\"}";
232+
String expect = "{\"lastName\":\"bar\",\"first_name\":null,\"person_name\":null}";
233233
PersonAlias personAlias = new PersonAlias();
234234
personAlias.lastName("bar");
235235
assertThat(this.jsonSerializer.serialize(personAlias)).isEqualTo(expect);

0 commit comments

Comments
 (0)