From 65c23dd9a47b95122087333944bb9dd4ddaf7fea Mon Sep 17 00:00:00 2001 From: Michael Jacoby Date: Wed, 4 Sep 2024 07:30:57 +0200 Subject: [PATCH] Handle null values in JSON as empty/default value (#876) * skip null values in JSON --- .../faaast/service/dataformat/json/JsonApiDeserializer.java | 3 +++ docs/source/other/release-notes.md | 1 + 2 files changed, 4 insertions(+) diff --git a/dataformat/json/src/main/java/de/fraunhofer/iosb/ilt/faaast/service/dataformat/json/JsonApiDeserializer.java b/dataformat/json/src/main/java/de/fraunhofer/iosb/ilt/faaast/service/dataformat/json/JsonApiDeserializer.java index 7721b6fb8..4d9ef24b2 100644 --- a/dataformat/json/src/main/java/de/fraunhofer/iosb/ilt/faaast/service/dataformat/json/JsonApiDeserializer.java +++ b/dataformat/json/src/main/java/de/fraunhofer/iosb/ilt/faaast/service/dataformat/json/JsonApiDeserializer.java @@ -14,6 +14,8 @@ */ package de.fraunhofer.iosb.ilt.faaast.service.dataformat.json; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.BeanDescription; import com.fasterxml.jackson.databind.DeserializationConfig; @@ -532,6 +534,7 @@ public com.fasterxml.jackson.databind.JsonDeserializer modifyCollectionDeseri ReflectionHelper.ENUMS.forEach(x -> module.addDeserializer(x, new EnumDeserializer(x))); mapper.registerModule(module); mapper.registerModule(new JavaTimeModule()); + mapper.setDefaultSetterInfo(JsonSetter.Value.forValueNulls(Nulls.SKIP)); } } diff --git a/docs/source/other/release-notes.md b/docs/source/other/release-notes.md index 9e63ad9b1..ef296754a 100644 --- a/docs/source/other/release-notes.md +++ b/docs/source/other/release-notes.md @@ -7,6 +7,7 @@ **Internal changes & bugfixes** - General - Fixed bug in JSON valueOnly deserialization that could occur with complex strcutures (e.g. SubmodelElementCollections within SubmodelElementLists) + - Fixed bug caused by null values in JSON payload when inserting data via HTTP - null values are now treated as empty/default values ## 1.1.0