From e60938e6bf6edf5da6dd7f9f6cc831fdcf27a69f Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期二, 06 八月 2024 11:27:56 +0800 Subject: [PATCH] 松套管配置套管 --- framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java | 69 ++++++++++++++++++++++++++++++++++ 1 files changed, 68 insertions(+), 1 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 d9e0358..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,11 +1,25 @@ package com.yuanchu.mom.config; -import org.springframework.beans.factory.annotation.Autowired; +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 { @@ -16,10 +30,63 @@ @Resource private PowerConfig powerConfig; + @Resource + private LogConfig logConfig; + + @Value("${file.path}") + private String filePath; + + @Value("${outPath}") + private String outPath; + + @Value("${wordUrl}") + private String wordUrl; + + @Value("${spring.jackson.date-format}") + private String pattern; + + public void addResourceHandlers(ResourceHandlerRegistry registry) { + //閰嶇疆鎷︽埅鍣ㄨ闂潤鎬佽祫婧� + registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("/favicon.ico").addResourceLocations("classpath:/META-INF/resources/"); + registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); + + //璁剧疆鏂囦欢铏氭嫙璺緞鏄犲皠 + registry.addResourceHandler("/img/**").addResourceLocations("file:"+filePath+"/"); + registry.addResourceHandler("/outPath/**").addResourceLocations("file:"+outPath); + registry.addResourceHandler("/word/**").addResourceLocations("file:"+wordUrl+"/"); + } + @Override protected void addInterceptors(InterceptorRegistry registry) { + // 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