(improvement)(common) Add JsonUtil configuration to avoid deserialization failure when enumeration values change (#558)

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2023-12-20 22:11:36 +08:00
committed by GitHub
parent f7914ff6f4
commit 2631352c30
4 changed files with 33 additions and 43 deletions

View File

@@ -12,6 +12,12 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.databind.type.CollectionType;
import com.fasterxml.jackson.databind.type.MapType;
import com.fasterxml.jackson.databind.type.TypeFactory;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.nio.charset.Charset;
import java.security.InvalidParameterException;
@@ -20,12 +26,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@Slf4j
public class JsonUtil {
@@ -41,6 +41,10 @@ public class JsonUtil {
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
//允许使用未带引号的字段名
objectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
//忽略未知enum字段置为null
objectMapper.configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL, true);
//反序列化忽略未知字段
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
//允许使用单引号
objectMapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
// 遇到空对象不抛异常