diff --git a/api/pom.xml b/api/pom.xml index 628dccb9f51e289f16f7a552f4819fba54676b66..0ab8f36062c7ac05dd802eceee94712ca9b4ca0c 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -150,6 +150,17 @@ --> + + + org.mybatis + mybatis-typehandlers-jsr310 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + com.alibaba druid-spring-boot-starter diff --git a/api/src/main/java/com/simon/common/config/WebMvcConfig.java b/api/src/main/java/com/simon/common/config/WebMvcConfig.java index 4ea04efa80b0336e70c5c64380509ce9aaf3fffb..ef6db320b722d9f70e06c26fbfd406a44179fc90 100644 --- a/api/src/main/java/com/simon/common/config/WebMvcConfig.java +++ b/api/src/main/java/com/simon/common/config/WebMvcConfig.java @@ -1,8 +1,10 @@ package com.simon.common.config; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.simon.common.handler.CurrentUserMethodArgumentResolver; import com.simon.common.interceptor.AuthInterceptor; import org.springframework.context.annotation.Bean; @@ -50,6 +52,9 @@ public class WebMvcConfig extends WebMvcConfigurerAdapter { MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); //定义对象映射器 ObjectMapper objectMapper = new ObjectMapper(); + //解决jackson java8时间类型格式化问题 + objectMapper.registerModule(new JavaTimeModule()); + objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); //对于Long 类型的数据,如果在Controller层通过@ResponseBody将返回数据自动转换成json时,不做任何处理,而直接传给前端的话,在Long长度大于17位时会出现精度丢失的问题。 //将Long类型的数据转换成字符串,解决Long类型数据传入前端精度丢失的问题 //定义对象模型 diff --git a/pom.xml b/pom.xml index 9fc90154167a7fee951b6e562927f9538578f563..74c1190b6507902c82e6d089f095ade0335db8b1 100644 --- a/pom.xml +++ b/pom.xml @@ -208,6 +208,17 @@ + + org.mybatis + mybatis-typehandlers-jsr310 + 1.0.2 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.9.8 + + com.alibaba druid-spring-boot-starter diff --git a/web/pom.xml b/web/pom.xml index 4a9243e076bf783f3cc24dcbf817a011073567cb..0372c938be5c80a760db489c4c69e5a3e050cc9c 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -141,6 +141,17 @@ --> + + + org.mybatis + mybatis-typehandlers-jsr310 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + com.alibaba druid-spring-boot-starter diff --git a/web/src/main/java/com/simon/common/config/WebMvcConfig.java b/web/src/main/java/com/simon/common/config/WebMvcConfig.java index b87cba3351d69842a34c35c33517209d336662f4..c662557b6c1b1ce6e73f9904c6622e5c2075261b 100644 --- a/web/src/main/java/com/simon/common/config/WebMvcConfig.java +++ b/web/src/main/java/com/simon/common/config/WebMvcConfig.java @@ -1,8 +1,10 @@ package com.simon.common.config; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.simon.common.handler.CurrentUserMethodArgumentResolver; import com.simon.common.interceptor.AuthInterceptor; import org.springframework.context.annotation.Bean; @@ -53,6 +55,9 @@ public class WebMvcConfig extends WebMvcConfigurerAdapter { MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); //定义对象映射器 ObjectMapper objectMapper = new ObjectMapper(); + //解决jackson java8时间类型格式化问题 + objectMapper.registerModule(new JavaTimeModule()); + objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); //对于Long 类型的数据,如果在Controller层通过@ResponseBody将返回数据自动转换成json时,不做任何处理,而直接传给前端的话,在Long长度大于17位时会出现精度丢失的问题。 //将Long类型的数据转换成字符串,解决Long类型数据传入前端精度丢失的问题 //定义对象模型