Quellcode durchsuchen

Merge branch 'dev' of http://git.qmth.com.cn/themis/backend-service into dev
111

wangliang vor 4 Jahren
Ursprung
Commit
f727615448

+ 14 - 9
themis-exam/src/main/java/com/qmth/themis/exam/config/WebMvcConfig.java

@@ -43,19 +43,24 @@ public class WebMvcConfig implements WebMvcConfigurer {
 
     @Override
     public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-        MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
-
         ObjectMapper objectMapper = new ObjectMapper();
-        /**
-         * 序列换成json时,将所有的long变成string
-         * 因为js中得数字类型不能包含所有的java long值
-         */
+        objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+        objectMapper.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT);
+
+        objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));
+        //objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
+
+        // 处理数字位数超过JS默认最大数字时精度差异问题
         SimpleModule simpleModule = new SimpleModule();
+        simpleModule.addSerializer(BigInteger.class, ToStringSerializer.instance);
         simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
-        simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
+
         objectMapper.registerModule(simpleModule);
 
-        jackson2HttpMessageConverter.setObjectMapper(objectMapper);
-        converters.add(jackson2HttpMessageConverter);
+        for (HttpMessageConverter<?> c : converters) {
+            if (c instanceof MappingJackson2HttpMessageConverter) {
+                ((MappingJackson2HttpMessageConverter) c).setObjectMapper(objectMapper);
+            }
+        }
     }
 }