fix:long类型导致的js精度丢失
This commit is contained in:
parent
6c6af0a191
commit
6ee0b182ee
@ -1,76 +0,0 @@
|
||||
package com.aircraft.config;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.fasterxml.jackson.databind.deser.std.DateDeserializers;
|
||||
import com.fasterxml.jackson.databind.ser.std.DateSerializer;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
|
||||
/**
|
||||
* Author sjc
|
||||
* Date 2024/7/30 15:44
|
||||
*/
|
||||
|
||||
@Configuration
|
||||
@Slf4j
|
||||
public class JacksonConfig {
|
||||
|
||||
/**
|
||||
* DateTime格式化字符串
|
||||
*/
|
||||
private static final String DEFAULT_DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
|
||||
|
||||
/**
|
||||
* Date格式化字符串
|
||||
*/
|
||||
private static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd";
|
||||
|
||||
/**
|
||||
* Time格式化字符串
|
||||
*/
|
||||
private static final String DEFAULT_TIME_PATTERN = "HH:mm:ss";
|
||||
|
||||
private static final String DEFAULT_TIME_ZONE = "GMT+8";
|
||||
|
||||
/**
|
||||
* Jackson序列化和反序列化转换器,用于转换Post请求体中的json以及将对象序列化为返回响应的json
|
||||
*/
|
||||
@Bean
|
||||
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
|
||||
DateFormat dateTimeDf = DateUtil.newSimpleFormat(DEFAULT_DATETIME_PATTERN, Locale.CHINA, TimeZone.getTimeZone(DEFAULT_TIME_ZONE));
|
||||
DateTimeFormatter dateTimeDtf = DateTimeFormatter.ofPattern(DEFAULT_DATETIME_PATTERN).withZone(ZoneId.of(DEFAULT_TIME_ZONE));
|
||||
DateTimeFormatter dateDtf = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN).withZone(ZoneId.of(DEFAULT_TIME_ZONE));
|
||||
DateTimeFormatter timeDtf = DateTimeFormatter.ofPattern(DEFAULT_TIME_PATTERN).withZone(ZoneId.of(DEFAULT_TIME_ZONE));
|
||||
return builder -> builder
|
||||
.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(dateTimeDtf))
|
||||
.serializerByType(LocalDate.class, new LocalDateSerializer(dateDtf))
|
||||
.serializerByType(LocalTime.class, new LocalTimeSerializer(timeDtf))
|
||||
.serializerByType(Date.class, new DateSerializer(false, dateTimeDf))
|
||||
.deserializerByType(LocalDateTime.class, new LocalDateTimeDeserializer(dateTimeDtf))
|
||||
.deserializerByType(LocalDate.class, new LocalDateDeserializer(dateDtf))
|
||||
.deserializerByType(LocalTime.class, new LocalTimeDeserializer(timeDtf))
|
||||
.deserializerByType(Date.class, new DateDeserializers.DateDeserializer(DateDeserializers.DateDeserializer.instance, dateTimeDf, DEFAULT_DATETIME_PATTERN))
|
||||
.serializerByType(Long.TYPE, ToStringSerializer.instance)
|
||||
.serializerByType(Long.class, ToStringSerializer.instance);
|
||||
}
|
||||
|
||||
}
|
@ -86,7 +86,8 @@ public class ConfigurerAdapter implements WebMvcConfigurer {
|
||||
// 开启引用检测,枚举支持
|
||||
config.setWriterFeatures(
|
||||
JSONWriter.Feature.WriteEnumUsingToString,
|
||||
JSONWriter.Feature.ReferenceDetection
|
||||
JSONWriter.Feature.ReferenceDetection,
|
||||
JSONWriter.Feature.WriteLongAsString
|
||||
);
|
||||
fastJsonConverter.setFastJsonConfig(config);
|
||||
fastJsonConverter.setSupportedMediaTypes(supportMediaTypeList);
|
||||
|
Loading…
Reference in New Issue
Block a user