|
@@ -0,0 +1,36 @@
|
|
|
+package com.game.framework.config;
|
|
|
+
|
|
|
+import com.fasterxml.jackson.annotation.JsonInclude;
|
|
|
+import com.fasterxml.jackson.databind.MapperFeature;
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
+import com.fasterxml.jackson.databind.module.SimpleModule;
|
|
|
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
|
+import org.springframework.context.annotation.Bean;
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
+import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
|
|
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
|
|
+
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.TimeZone;
|
|
|
+
|
|
|
+@Configuration
|
|
|
+public class JacksonConfig
|
|
|
+{
|
|
|
+ @Bean
|
|
|
+ public MappingJackson2HttpMessageConverter jackson2HttpMessageConverter()
|
|
|
+ {
|
|
|
+ final Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
|
|
|
+ builder.serializationInclusion(JsonInclude.Include.NON_NULL);
|
|
|
+ final ObjectMapper objectMapper = builder.build();
|
|
|
+ SimpleModule simpleModule = new SimpleModule();
|
|
|
+ // Long 转为 String 防止 js 丢失精度
|
|
|
+ simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
|
|
|
+ objectMapper.registerModule(simpleModule);
|
|
|
+ // 忽略 transient 关键词属性
|
|
|
+ objectMapper.configure(MapperFeature.PROPAGATE_TRANSIENT_MARKER, true);
|
|
|
+ // 时区设置
|
|
|
+ objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));
|
|
|
+ objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
|
|
|
+ return new MappingJackson2HttpMessageConverter(objectMapper);
|
|
|
+ }
|
|
|
+}
|