package com.ym.mec.teacher.config; import com.ym.mec.common.config.EnumConverterFactory; import com.ym.mec.common.config.LocalFastJsonHttpMessageConverter; import com.ym.mec.teacher.interceptor.MDCInterceptor; import com.ym.mec.teacher.interceptor.OperationLogInterceptor; import com.ym.mec.teacher.interceptor.TenantInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.format.FormatterRegistry; import org.springframework.http.MediaType; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import java.util.ArrayList; import java.util.List; @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Autowired private MDCInterceptor mdcInterceptor; @Autowired private OperationLogInterceptor operationLogInterceptor; @Autowired private TenantInterceptor tenantInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { List includePathPatterns = new ArrayList(); includePathPatterns.add("/**"); List excludePathPatterns = new ArrayList(); excludePathPatterns.add("/login"); registry.addInterceptor(tenantInterceptor).addPathPatterns("/**"); registry.addInterceptor(mdcInterceptor).addPathPatterns(includePathPatterns).excludePathPatterns(excludePathPatterns); // registry.addInterceptor(operationLogInterceptor).addPathPatterns("/**").excludePathPatterns("/login"); } /** * 枚举类的转换器 addConverterFactory */ @Override public void addFormatters(FormatterRegistry registry) { registry.addConverterFactory(new EnumConverterFactory()); } @Bean public HttpMessageConverters fastJsonHttpMessageConverters(){ LocalFastJsonHttpMessageConverter converter = new LocalFastJsonHttpMessageConverter(); List fastMediaTypes = new ArrayList(); fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); converter.setSupportedMediaTypes(fastMediaTypes); return new HttpMessageConverters(converter); } }