package com.yn.bftl.thirdparty.config; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.ByteArrayHttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import java.nio.charset.Charset; import java.text.SimpleDateFormat; import java.util.List; /** * SpringMvc 配置 * * @author huabiao * @create 2020/06/20 10:00 **/ @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Autowired private ApplicationContext context; @Override public void addCorsMappings(CorsRegistry registry) { // 允许跨域 registry.addMapping("/**").allowedOriginPatterns("*").allowCredentials(true) .allowedMethods("GET", "POST", "DELETE", "PUT").maxAge(3600); } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 配置静态文件允许访问 - swagger 所需 registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/") .addResourceLocations("/member/chinaums/auth/mch/test"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/"); } @Bean public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); ObjectMapper mapper = converter.getObjectMapper(); Hibernate5Module hibernate5Module = new Hibernate5Module(); mapper.registerModule(hibernate5Module); mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); return converter; } @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { // 配置转换器 converters.add(new ByteArrayHttpMessageConverter()); converters.add(new StringHttpMessageConverter(Charset.forName("UTF-8"))); converters.add(0,mappingJackson2HttpMessageConverter()); WebMvcConfigurer.super.configureMessageConverters(converters); } }