Просмотр исходного кода

feat:
mvc接收多种日期参数格式

18339543638 2 лет назад
Родитель
Сommit
786057b60e

+ 2 - 0
tr-plugins/tr-spring-boot-starter-plugin-web/src/main/java/cn/tr/plugin/web/config/jackson/mapper/core/ObjectMapperConfig.java

@@ -3,6 +3,7 @@ package cn.tr.plugin.web.config.jackson.mapper.core;
 import cn.tr.core.utils.JsonUtils;
 import cn.tr.plugin.web.config.jackson.mapper.module.SimpleModuleRegister;
 import cn.tr.plugin.web.config.jackson.mapper.module.bean.BooleanModule;
+import cn.tr.plugin.web.config.jackson.mapper.module.bean.DateModule;
 import cn.tr.plugin.web.config.jackson.mapper.module.bean.EnumModule;
 import cn.tr.plugin.web.config.jackson.mapper.module.bean.StringModule;
 import com.fasterxml.jackson.databind.DeserializationFeature;
@@ -26,6 +27,7 @@ public class ObjectMapperConfig implements BeanPostProcessor {
         SimpleModuleRegister.register(new BooleanModule());
         SimpleModuleRegister.register(new EnumModule());
         SimpleModuleRegister.register(new StringModule());
+        SimpleModuleRegister.register(new DateModule());
     }
 
 

+ 31 - 0
tr-plugins/tr-spring-boot-starter-plugin-web/src/main/java/cn/tr/plugin/web/config/jackson/mapper/module/bean/DateModule.java

@@ -0,0 +1,31 @@
+package cn.tr.plugin.web.config.jackson.mapper.module.bean;
+
+import cn.hutool.core.date.DateUtil;
+import com.fasterxml.jackson.core.JacksonException;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.ser.std.DateSerializer;
+
+import java.io.IOException;
+import java.util.Date;
+
+/**
+ * @ClassName : EnumModule
+ * @Description :
+ * @Author : LF
+ * @Date: 2023年02月21日
+ */
+
+public class DateModule extends SimpleModule {
+    {
+        addSerializer(Date.class, new DateSerializer());
+        addDeserializer(Date.class, new StdScalarDeserializer<Date>(String.class) {
+            @Override
+            public Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException {
+                return DateUtil.parse(jsonParser.getText());
+            }
+        });
+    }
+}