diff --git a/pom.xml b/pom.xml index 453ff635..a09c7a40 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,11 @@ - + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.1.0 + eu.bitwalker UserAgentUtils diff --git a/src/main/java/cn/lihongjie/coal/config/JacksonConfig.java b/src/main/java/cn/lihongjie/coal/config/JacksonConfig.java new file mode 100644 index 00000000..7f468902 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/config/JacksonConfig.java @@ -0,0 +1,38 @@ +package cn.lihongjie.coal.config; + +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.time.LocalDateTime; +import java.time.chrono.IsoChronology; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeFormatterBuilder; +import java.time.format.ResolverStyle; + +import static java.time.format.DateTimeFormatter.ISO_LOCAL_DATE; +import static java.time.format.DateTimeFormatter.ISO_LOCAL_TIME; + +@Configuration +public class JacksonConfig { + + + private DateTimeFormatter dateTimeFormatter = new DateTimeFormatterBuilder() + .parseCaseInsensitive() + .append(ISO_LOCAL_DATE) + .appendLiteral(" ") + .append(ISO_LOCAL_TIME) + .toFormatter(); + + @Bean + public SimpleModule javaTimeModule() { + JavaTimeModule module = new JavaTimeModule(); + module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(dateTimeFormatter)); + module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(dateTimeFormatter)); + return module; + } + +}