Commit d6b426970b6e0fd86712ecbdecd201cd9f7d89aa

Authored by halfninety
1 parent 61c4053c

序列化配置修改名称

yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/jackson/config/YudaoJacksonAutoConfiguration.java
1 1 package cn.iocoder.yudao.framework.jackson.config;
2 2  
  3 +import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
3 4 import cn.iocoder.yudao.framework.jackson.core.databind.LocalDateTimeDeserializer;
4 5 import cn.iocoder.yudao.framework.jackson.core.databind.LocalDateTimeSerializer;
5   -import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
  6 +import cn.iocoder.yudao.framework.jackson.core.databind.LocalTimeJson;
6 7 import com.fasterxml.jackson.databind.ObjectMapper;
7 8 import com.fasterxml.jackson.databind.module.SimpleModule;
8 9 import lombok.extern.slf4j.Slf4j;
... ... @@ -12,6 +13,7 @@ import org.springframework.context.annotation.Bean;
12 13 import org.springframework.context.annotation.Configuration;
13 14  
14 15 import java.time.LocalDateTime;
  16 +import java.time.LocalTime;
15 17  
16 18 @Configuration(proxyBeanMethods = false)
17 19 @Slf4j
... ... @@ -30,12 +32,15 @@ public class YudaoJacksonAutoConfiguration {
30 32 /*
31 33 * 1. 新增Long类型序列化规则,数值超过2^53-1,在JS会出现精度丢失问题,因此Long自动序列化为字符串类型
32 34 * 2. 新增LocalDateTime序列化、反序列化规则
  35 + * 3. 新增LocalTime序列化、反序列化规则
33 36 */
34 37 simpleModule
35 38 // .addSerializer(Long.class, ToStringSerializer.instance)
36 39 // .addSerializer(Long.TYPE, ToStringSerializer.instance)
37 40 .addSerializer(LocalDateTime.class, LocalDateTimeSerializer.INSTANCE)
38   - .addDeserializer(LocalDateTime.class, LocalDateTimeDeserializer.INSTANCE);
  41 + .addDeserializer(LocalDateTime.class, LocalDateTimeDeserializer.INSTANCE)
  42 + .addSerializer(LocalTime.class, LocalTimeJson.SERIALIZER)
  43 + .addDeserializer(LocalTime.class, LocalTimeJson.DESERIALIZABLE);
39 44  
40 45 objectMapper.registerModules(simpleModule);
41 46  
... ...
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/jackson/core/databind/LocalTimeDeserializable.java renamed to yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/jackson/core/databind/LocalTimeJson.java
1 1 package cn.iocoder.yudao.framework.jackson.core.databind;
2 2  
3 3 import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
  4 +import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
4 5  
5 6 import java.time.ZoneId;
6 7 import java.time.format.DateTimeFormatter;
7 8  
8 9 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_HOUR_MINUTE_SECOND;
9 10  
10   -public class LocalTimeDeserializable {
11   - // TODO: 2022/11/15 修改名字
12   - public static final LocalTimeDeserializer INSTANCE = new LocalTimeDeserializer(DateTimeFormatter
  11 +public class LocalTimeJson {
  12 +
  13 + public static final LocalTimeSerializer SERIALIZER = new LocalTimeSerializer(DateTimeFormatter
  14 + .ofPattern(FORMAT_HOUR_MINUTE_SECOND)
  15 + .withZone(ZoneId.systemDefault()));
  16 +
  17 + public static final LocalTimeDeserializer DESERIALIZABLE = new LocalTimeDeserializer(DateTimeFormatter
13 18 .ofPattern(FORMAT_HOUR_MINUTE_SECOND)
14 19 .withZone(ZoneId.systemDefault()));
15 20  
... ...
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/jackson/core/databind/LocalTimeSerializable.java deleted
1   -package cn.iocoder.yudao.framework.jackson.core.databind;
2   -
3   -import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
4   -
5   -import java.time.ZoneId;
6   -import java.time.format.DateTimeFormatter;
7   -
8   -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_HOUR_MINUTE_SECOND;
9   -
10   -public class LocalTimeSerializable {
11   - // TODO: 2022/11/15 修改名称
12   -
13   - public static final LocalTimeSerializer INSTANCE = new LocalTimeSerializer(DateTimeFormatter
14   - .ofPattern(FORMAT_HOUR_MINUTE_SECOND)
15   - .withZone(ZoneId.systemDefault()));
16   -
17   -}