From b939331cf60d3bb36ee8aa208cf05c3a5a04415f Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期二, 06 八月 2024 12:46:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java | 48 +++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 45 insertions(+), 3 deletions(-) diff --git a/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java b/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java index 6d32457..8c4d5b8 100644 --- a/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java +++ b/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java @@ -1,13 +1,25 @@ package com.yuanchu.mom.config; -import cn.hutool.log.Log; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +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.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.List; @Configuration public class OpenFifer extends WebMvcConfigurationSupport { @@ -27,7 +39,11 @@ @Value("${outPath}") private String outPath; + @Value("${wordUrl}") + private String wordUrl; + @Value("${spring.jackson.date-format}") + private String pattern; public void addResourceHandlers(ResourceHandlerRegistry registry) { //閰嶇疆鎷︽埅鍣ㄨ闂潤鎬佽祫婧� @@ -38,13 +54,39 @@ //璁剧疆鏂囦欢铏氭嫙璺緞鏄犲皠 registry.addResourceHandler("/img/**").addResourceLocations("file:"+filePath+"/"); registry.addResourceHandler("/outPath/**").addResourceLocations("file:"+outPath); + registry.addResourceHandler("/word/**").addResourceLocations("file:"+wordUrl+"/"); } @Override protected void addInterceptors(InterceptorRegistry registry) { -// registry.addInterceptor(fiferConfig).addPathPatterns("/**"); -// registry.addInterceptor(powerConfig).addPathPatterns("/**"); + // TODO: 2024/6/4 璁块棶swagger闇�鍏充笅闈㈡嫤鎴櫒 + registry.addInterceptor(fiferConfig).addPathPatterns("/**"); + registry.addInterceptor(powerConfig).addPathPatterns("/**"); registry.addInterceptor(logConfig).addPathPatterns("/**"); super.addInterceptors(registry); } + + // 鍏ㄥ眬鏍煎紡鍖栧鐞� + @Override + protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) { + Jackson2ObjectMapperBuilder json = Jackson2ObjectMapperBuilder.json(); + MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); + + //localDateTime鏍煎紡鍖� + JavaTimeModule module = new JavaTimeModule(); + LocalDateTimeDeserializer dateTimeDeserializer = new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(pattern)); + LocalDateTimeSerializer dateTimeSerializer = new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern)); + module.addDeserializer(LocalDateTime.class, dateTimeDeserializer); + module.addSerializer(LocalDateTime.class, dateTimeSerializer); + ObjectMapper objectMapper = json.modules(module) + .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).build(); + + //date鏃堕棿鏍煎紡鍖� + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + objectMapper.setDateFormat(new SimpleDateFormat(pattern)); + + // 璁剧疆鏍煎紡鍖栧唴瀹� + converter.setObjectMapper(objectMapper); + converters.add(0, converter); + } } -- Gitblit v1.9.3