|
@@ -5,14 +5,15 @@
|
|
*/
|
|
*/
|
|
package com.aizuda.service.autoconfigure;
|
|
package com.aizuda.service.autoconfigure;
|
|
|
|
|
|
|
|
+import com.aizuda.service.editors.DoubleEditor;
|
|
|
|
+import com.aizuda.service.editors.IntegerEditor;
|
|
|
|
+import com.aizuda.service.editors.LongEditor;
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
import com.fasterxml.jackson.databind.MapperFeature;
|
|
import com.fasterxml.jackson.databind.MapperFeature;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
-import com.aizuda.service.editors.DoubleEditor;
|
|
|
|
-import com.aizuda.service.editors.IntegerEditor;
|
|
|
|
-import com.aizuda.service.editors.LongEditor;
|
|
|
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.propertyeditors.CustomDateEditor;
|
|
import org.springframework.beans.propertyeditors.CustomDateEditor;
|
|
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
|
|
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
@@ -33,10 +34,10 @@ import java.text.SimpleDateFormat;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
-import java.util.Locale;
|
|
|
|
|
|
+import java.util.TimeZone;
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 爱组搭 http://aizuda.com
|
|
|
|
|
|
+ * 爱组搭 <a href="http://aizuda.com">http://aizuda.com</a>
|
|
* ----------------------------------------
|
|
* ----------------------------------------
|
|
* Json 处理相关配置
|
|
* Json 处理相关配置
|
|
*
|
|
*
|
|
@@ -47,6 +48,8 @@ import java.util.Locale;
|
|
@RestControllerAdvice
|
|
@RestControllerAdvice
|
|
@Configuration(proxyBeanMethods = false)
|
|
@Configuration(proxyBeanMethods = false)
|
|
public class JsonAutoConfiguration {
|
|
public class JsonAutoConfiguration {
|
|
|
|
+ @Value("${spring.jackson.time-zone}")
|
|
|
|
+ private String timeZone = "UTC+8";
|
|
|
|
|
|
/**
|
|
/**
|
|
* 字符串转换处理
|
|
* 字符串转换处理
|
|
@@ -90,13 +93,15 @@ public class JsonAutoConfiguration {
|
|
public HttpMessageConverters jacksonHttpMessageConverters() {
|
|
public HttpMessageConverters jacksonHttpMessageConverters() {
|
|
final Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
|
|
final Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
|
|
builder.serializationInclusion(JsonInclude.Include.NON_NULL);
|
|
builder.serializationInclusion(JsonInclude.Include.NON_NULL);
|
|
|
|
+ // 忽略 transient 关键词属性
|
|
|
|
+ builder.featuresToEnable(MapperFeature.PROPAGATE_TRANSIENT_MARKER);
|
|
final ObjectMapper objectMapper = builder.build();
|
|
final ObjectMapper objectMapper = builder.build();
|
|
SimpleModule simpleModule = new SimpleModule();
|
|
SimpleModule simpleModule = new SimpleModule();
|
|
// Long 转为 String 防止 js 丢失精度
|
|
// Long 转为 String 防止 js 丢失精度
|
|
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
|
|
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
|
|
objectMapper.registerModule(simpleModule);
|
|
objectMapper.registerModule(simpleModule);
|
|
- // 忽略 transient 关键词属性
|
|
|
|
- objectMapper.configure(MapperFeature.PROPAGATE_TRANSIENT_MARKER, true);
|
|
|
|
|
|
+ // 设置时区
|
|
|
|
+ objectMapper.setTimeZone(TimeZone.getTimeZone(timeZone));
|
|
MappingJackson2HttpMessageConverter jacksonConverter = new MappingJackson2HttpMessageConverter(objectMapper);
|
|
MappingJackson2HttpMessageConverter jacksonConverter = new MappingJackson2HttpMessageConverter(objectMapper);
|
|
jacksonConverter.setDefaultCharset(StandardCharsets.UTF_8);
|
|
jacksonConverter.setDefaultCharset(StandardCharsets.UTF_8);
|
|
StringHttpMessageConverter stringConverter = new StringHttpMessageConverter(StandardCharsets.UTF_8);
|
|
StringHttpMessageConverter stringConverter = new StringHttpMessageConverter(StandardCharsets.UTF_8);
|