diff --git a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/config/JacksonConfig.java b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/config/JacksonConfig.java index 59fe051a..cc395a4b 100644 --- a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/config/JacksonConfig.java +++ b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/config/JacksonConfig.java @@ -1,7 +1,9 @@ package com.nflg.wms.starter.config; import cn.hutool.core.date.DatePattern; +import cn.hutool.core.util.StrUtil; import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; @@ -27,14 +29,15 @@ public class JacksonConfig { public ObjectMapper objectMapper() { return new ObjectMapper() .registerModule(new JavaTimeModule()) - .registerModule(customDateTimeModule()) + .registerModule(dateTimeModule()) .registerModule(bigDecimalModule()) - .configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false) - .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) - .configure(SerializationFeature.INDENT_OUTPUT, false); + .registerModule(stringModule()) + .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) + .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) + .disable(SerializationFeature.INDENT_OUTPUT); } - private SimpleModule customDateTimeModule() { + private SimpleModule dateTimeModule() { SimpleModule module = new SimpleModule(); module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN))); module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN))); @@ -52,6 +55,12 @@ public class JacksonConfig { return module; } + private SimpleModule stringModule() { + SimpleModule module = new SimpleModule(); + module.addDeserializer(String.class, new TrimStringDeserializer()); + return module; + } + public static class BigDecimalPlainSerializer extends JsonSerializer { @Override public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers) @@ -64,4 +73,15 @@ public class JacksonConfig { } } } + + /** + * 去除字符串首尾空格 + */ + public static class TrimStringDeserializer extends JsonDeserializer { + @Override + public String deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + return StrUtil.trim(p.getValueAsString()); + } + } } \ No newline at end of file