Commit d6b426970b6e0fd86712ecbdecd201cd9f7d89aa
1 parent
61c4053c
序列化配置修改名称
Showing
3 changed files
with
15 additions
and
22 deletions
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/jackson/config/YudaoJacksonAutoConfiguration.java
| 1 | package cn.iocoder.yudao.framework.jackson.config; | 1 | package cn.iocoder.yudao.framework.jackson.config; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | ||
| 3 | import cn.iocoder.yudao.framework.jackson.core.databind.LocalDateTimeDeserializer; | 4 | import cn.iocoder.yudao.framework.jackson.core.databind.LocalDateTimeDeserializer; |
| 4 | import cn.iocoder.yudao.framework.jackson.core.databind.LocalDateTimeSerializer; | 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 | import com.fasterxml.jackson.databind.ObjectMapper; | 7 | import com.fasterxml.jackson.databind.ObjectMapper; |
| 7 | import com.fasterxml.jackson.databind.module.SimpleModule; | 8 | import com.fasterxml.jackson.databind.module.SimpleModule; |
| 8 | import lombok.extern.slf4j.Slf4j; | 9 | import lombok.extern.slf4j.Slf4j; |
| @@ -12,6 +13,7 @@ import org.springframework.context.annotation.Bean; | @@ -12,6 +13,7 @@ import org.springframework.context.annotation.Bean; | ||
| 12 | import org.springframework.context.annotation.Configuration; | 13 | import org.springframework.context.annotation.Configuration; |
| 13 | 14 | ||
| 14 | import java.time.LocalDateTime; | 15 | import java.time.LocalDateTime; |
| 16 | +import java.time.LocalTime; | ||
| 15 | 17 | ||
| 16 | @Configuration(proxyBeanMethods = false) | 18 | @Configuration(proxyBeanMethods = false) |
| 17 | @Slf4j | 19 | @Slf4j |
| @@ -30,12 +32,15 @@ public class YudaoJacksonAutoConfiguration { | @@ -30,12 +32,15 @@ public class YudaoJacksonAutoConfiguration { | ||
| 30 | /* | 32 | /* |
| 31 | * 1. 新增Long类型序列化规则,数值超过2^53-1,在JS会出现精度丢失问题,因此Long自动序列化为字符串类型 | 33 | * 1. 新增Long类型序列化规则,数值超过2^53-1,在JS会出现精度丢失问题,因此Long自动序列化为字符串类型 |
| 32 | * 2. 新增LocalDateTime序列化、反序列化规则 | 34 | * 2. 新增LocalDateTime序列化、反序列化规则 |
| 35 | + * 3. 新增LocalTime序列化、反序列化规则 | ||
| 33 | */ | 36 | */ |
| 34 | simpleModule | 37 | simpleModule |
| 35 | // .addSerializer(Long.class, ToStringSerializer.instance) | 38 | // .addSerializer(Long.class, ToStringSerializer.instance) |
| 36 | // .addSerializer(Long.TYPE, ToStringSerializer.instance) | 39 | // .addSerializer(Long.TYPE, ToStringSerializer.instance) |
| 37 | .addSerializer(LocalDateTime.class, LocalDateTimeSerializer.INSTANCE) | 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 | objectMapper.registerModules(simpleModule); | 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 | package cn.iocoder.yudao.framework.jackson.core.databind; | 1 | package cn.iocoder.yudao.framework.jackson.core.databind; |
| 2 | 2 | ||
| 3 | import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; | 3 | import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; |
| 4 | +import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; | ||
| 4 | 5 | ||
| 5 | import java.time.ZoneId; | 6 | import java.time.ZoneId; |
| 6 | import java.time.format.DateTimeFormatter; | 7 | import java.time.format.DateTimeFormatter; |
| 7 | 8 | ||
| 8 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_HOUR_MINUTE_SECOND; | 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 | .ofPattern(FORMAT_HOUR_MINUTE_SECOND) | 18 | .ofPattern(FORMAT_HOUR_MINUTE_SECOND) |
| 14 | .withZone(ZoneId.systemDefault())); | 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 | -} |